[SCCP] remove unnecessary check for constant when folding sext->zext
authorSanjay Patel <spatel@rotateright.com>
Fri, 30 Sep 2022 20:52:50 +0000 (16:52 -0400)
committerSanjay Patel <spatel@rotateright.com>
Fri, 30 Sep 2022 21:26:10 +0000 (17:26 -0400)
I'm not sure how to test this because we seem to constant-fold
all examples already. We changed this code to use the common
isNonNegative() helper, so it should not be necessary to avoid
a constant. This makes the code uniform for all transforms.

llvm/lib/Transforms/Scalar/SCCP.cpp

index f6868cd..8f90c2b 100644 (file)
@@ -178,7 +178,7 @@ static bool replaceSignedInst(SCCPSolver &Solver,
   case Instruction::SExt: {
     // If the source value is not negative, this is a zext.
     Value *Op0 = Inst.getOperand(0);
-    if (isa<Constant>(Op0) || InsertedValues.count(Op0) || !isNonNegative(Op0))
+    if (InsertedValues.count(Op0) || !isNonNegative(Op0))
       return false;
     NewInst = new ZExtInst(Op0, Inst.getType(), "", &Inst);
     break;