[llvm] [ConstantFold] Fold `erf` and `erff` when the input parameter is a constant value. (PR #113079)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 28 21:32:19 PDT 2024


================
@@ -3624,6 +3628,10 @@ bool llvm::isMathLibCallNoop(const CallBase *Call,
       case LibFunc_sqrtf:
         return Op.isNaN() || Op.isZero() || !Op.isNegative();
 
+      case LibFunc_erf:
+      case LibFunc_erff:
+        return true;
----------------
c8ef wrote:

Actually, I previously tried using erf, but I still couldn't achieve folding because it returns false in `isMathLibCallNoop`. Therefore, it's at least safe. Perhaps we should calculate the underflow boundary and add it into `isMathLibCallNoop` to enable constant folding.

https://github.com/llvm/llvm-project/pull/113079


More information about the llvm-commits mailing list