[llvm] [SelectionDAG] Support sign tracking trough `{S|U}INT_TO_FP` (PR #82808)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 25 09:57:08 PST 2024
================
@@ -4004,6 +4004,19 @@ KnownBits SelectionDAG::computeKnownBits(SDValue Op, const APInt &DemandedElts,
break;
}
+ case ISD::UINT_TO_FP: {
+ Known.makeNonNegative();
+ break;
+ }
+ case ISD::SINT_TO_FP: {
+ Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
+ if (Known2.isNonNegative())
+ Known.makeNonNegative();
+ // For fp -> sint, need to guard -0 case.
+ else if (Known2.isNegative())
----------------
goldsteinn wrote:
Sorry, outdated comment (was originally doing `fptosi` as well).
https://github.com/llvm/llvm-project/pull/82808
More information about the llvm-commits
mailing list