[clang] [libc] [llvm] [clang] Make __builtin_exp and __builtin_expf constexpr. (PR #199808)

via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 12 21:37:28 PDT 2026


================
@@ -20510,6 +20515,32 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) {
     return true;
   }
 
+  case Builtin::BI__builtin_exp:
+  case Builtin::BI__builtin_expf: {
+    APFloat Input(0.);
+    if (!EvaluateFloat(E->getArg(0), Input, Info))
+      return false;
+    llvm::RoundingMode RM = llvm::RoundingMode::NearestTiesToEven;
+    if (Info.InConstantContext)
+      RM = getActiveRoundingMode(Info, E);
----------------
lntue wrote:

Refactored to `evaluateUnaryMathBuiltin`  function.

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


More information about the cfe-commits mailing list