Lower Fortran intrinsic to a runtime call/llvm intrinsic
This patch brings in code which can lower a Fortran intrinsic to a runtime call or an llvm intrinsic. For math intrinsics the runtime call is to the `math` or `pgmath` library. Non-math intrinsics are covered by the Flang runtime. A distance computation mechanism is introduced to find the runtime function that closely matches the types of the intrinsic call. In this patch, the `abs` intrinsic is lowered in the following way, -> Integer version is lowered as a group of MLIR/FIR operations -> Real version is lowered to llvm intrinsics -> Complex version is lowered to the `math_hypot` runtime function This patch is part of upstreaming from the fir-dev branch of https://github.com/flang-compiler/f18-llvm-project Reviewed By: clementval Differential Revision: https://reviews.llvm.org/D120403 Co-authored-by:Jean Perier <jperier@nvidia.com> Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com> Co-authored-by:
zacharyselk <zrselk@gmail.com> Co-authored-by:
V Donaldson <vdonaldson@nvidia.com> Co-authored-by:
Valentin Clement <clementval@gmail.com>
Loading
Please sign in to comment