[llvm-branch-commits] [llvm] ValueTracking: Rule out nan for fdiv self special case (PR #174857)

Yingwei Zheng via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jan 8 09:23:39 PST 2026


================
@@ -5653,10 +5654,27 @@ void computeKnownFPClass(const Value *V, const APInt &DemandedElts,
         Known.KnownFPClasses = fcNan | fcZero;
       }
 
+      if (!WantNan)
+        break;
+
+      KnownFPClass KnownSrc;
+      computeKnownFPClass(Op->getOperand(0), DemandedElts,
+                          fcNan | fcInf | fcZero | fcSubnormal, KnownSrc, Q,
+                          Depth + 1);
+      const Function *F = cast<Instruction>(Op)->getFunction();
+      const fltSemantics &FltSem =
+          Op->getType()->getScalarType()->getFltSemantics();
+
+      if (KnownSrc.isKnownNever(fcNan) && KnownSrc.isKnownNeverInfinity() &&
----------------
dtcxzyw wrote:

Use isKnownNeverInfOrNaN

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


More information about the llvm-branch-commits mailing list