[llvm] [DAG] SelectionDAG.computeKnownBits - add NSW/NUW flags support to ISD::SHL handling (PR #89877)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 29 02:57:55 PDT 2024
================
@@ -3492,16 +3492,23 @@ KnownBits SelectionDAG::computeKnownBits(SDValue Op, const APInt &DemandedElts,
Known.Zero.setBitsFrom(1);
break;
}
- case ISD::SHL:
+ case ISD::SHL: {
Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
- Known = KnownBits::shl(Known, Known2);
+
+ bool NUW = Op.getNode()->Flags.hasNoUnsignedWrap();
+ bool NSW = Op.getNode()->Flags.hasNoSignedWrap();
----------------
RKSimon wrote:
SDValue uses the ->operator to redirect to the SDNode - so Op->getFlags is equivalent to Op.getNode()->Flags
https://github.com/llvm/llvm-project/pull/89877
More information about the llvm-commits
mailing list