[llvm] CodeGen: Add ISD::AssertNoFPClass (PR #135946)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 21 04:27:22 PDT 2025


================
@@ -5761,13 +5761,11 @@ bool SelectionDAG::isKnownNeverNaN(SDValue Op, const APInt &DemandedElts,
     return true;
   }
   case ISD::AssertNoFPClass: {
-    SDValue SDNoFPClass = Op.getOperand(1);
-    assert(isa<ConstantSDNode>(SDNoFPClass) && "NoFPClass is not Constant");
-    FPClassTest NoFPClass = static_cast<FPClassTest>(
-        dyn_cast<ConstantSDNode>(SDNoFPClass)->getZExtValue());
-    if (NoFPClass & fcNan)
+    FPClassTest NoFPClass =
+        static_cast<FPClassTest>(Op.getConstantOperandVal(1));
+    if ((NoFPClass & fcNan) == fcNan)
       return true;
-    if (SNaN && (NoFPClass & fcSNan))
+    if (SNaN && (NoFPClass & fcSNan) == fcSNan)
       return true;
     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
----------------
RKSimon wrote:

Add DemandedElts?

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


More information about the llvm-commits mailing list