[flang] Try to lower math intrinsics to math operations first.
This commit changes how math intrinsics are lowered: we, first, try to lower them into MLIR operations or libm calls via mathOperations table and only then fallback to pgmath runtime calls. The pgmath fallback is needed, because mathOperations does not support all intrinsics that pgmath supports. The main purpose of this change is to get rid of llvmIntrinsics table so that we do not have to update both llvmIntrinsics and mathOperations when adding new intrinsic support. mathOperations lowering should phase out pgmath lowering, when more operations are available (e.g. power operations being added in D129809 and D129811; complex type operations from Complex dialect). Differential Revision: https://reviews.llvm.org/D130129
Loading
Please sign in to comment