[RISCV] Don't call CheckAndMask from selectZExti32.
authorCraig Topper <craig.topper@sifive.com>
Fri, 26 Mar 2021 05:04:24 +0000 (22:04 -0700)
committerCraig Topper <craig.topper@sifive.com>
Fri, 26 Mar 2021 05:07:41 +0000 (22:07 -0700)
Now that targetShrinkDemandedConstant preserves 0xffffffff masks we
shouldn't need to call computeKnownBits here.

llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp

index 1e7516e4d729b3c3b437226c299c93f99dd775b3..d1f4cc29f5695b49ff0e2e581ec4cb943ed0d09d 100644 (file)
@@ -1128,7 +1128,7 @@ bool RISCVDAGToDAGISel::selectSExti32(SDValue N, SDValue &Val) {
 bool RISCVDAGToDAGISel::selectZExti32(SDValue N, SDValue &Val) {
   if (N.getOpcode() == ISD::AND) {
     auto *C = dyn_cast<ConstantSDNode>(N.getOperand(1));
-    if (C && CheckAndMask(N.getOperand(0), C, UINT64_C(0xFFFFFFFF))) {
+    if (C && C->getZExtValue() == UINT64_C(0xFFFFFFFF)) {
       Val = N.getOperand(0);
       return true;
     }