[llvm] [DAG] computeKnownFPClass - add ISD::SINT_TO_FP/UINT_TO_FP handling (PR #190539)
Max Graey via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 5 13:36:00 PDT 2026
================
@@ -6082,6 +6082,14 @@ KnownFPClass SelectionDAG::computeKnownFPClass(SDValue Op,
Known = computeKnownFPClass(Op.getOperand(0), InterestedClasses, Depth + 1);
break;
}
+ case ISD::SINT_TO_FP:
+ case ISD::UINT_TO_FP: {
+ Known.knownNot(fcNan);
+
+ if (Opcode == ISD::UINT_TO_FP)
+ Known.knownNot(fcNegative);
+ break;
+ }
----------------
MaxGraey wrote:
How about somethin like this?
```suggestion
case ISD::SINT_TO_FP:
case ISD::UINT_TO_FP: {
Known.knownNot(fcNan | fcNegZero | fcSubnormal);
if (Opcode == ISD::UINT_TO_FP) {
Known.knownNot(fcNegative);
break;
}
KnownBits KnownSrc =
computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
if (KnownSrc.isNonNegative())
Known.knownNot(fcNegative);
if (KnownSrc.isZero())
Known.known(fcZero);
else if (KnownSrc.isNonZero())
Known.knownNot(fcZero);
break;
}
```
https://github.com/llvm/llvm-project/pull/190539
More information about the llvm-commits
mailing list