diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2018-01-04 14:31:56 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2018-01-04 14:31:56 +0000 |
| commit | c63f9014d6c3a0d016a74e5145ddd931ed0d04d4 (patch) | |
| tree | 926ca3560c39876d10817103b72f5ed0dad6ac05 /llvm/lib | |
| parent | 7d9198b2965ec682b3199f2328fa221a1b9c53d1 (diff) | |
| download | bcm5719-llvm-c63f9014d6c3a0d016a74e5145ddd931ed0d04d4.tar.gz bcm5719-llvm-c63f9014d6c3a0d016a74e5145ddd931ed0d04d4.zip | |
[InstCombine] safely create a constant of the right type (PR35794)
llvm-svn: 321801
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp index 3bc7fae77cb..4fe653b4bd0 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -4082,13 +4082,13 @@ Instruction *InstCombiner::foldICmpUsingKnownBits(ICmpInst &I) { computeUnsignedMinMaxValuesFromKnownBits(Op1Known, Op1Min, Op1Max); } - // If Min and Max are known to be the same, then SimplifyDemandedBits - // figured out that the LHS is a constant. Constant fold this now, so that + // If Min and Max are known to be the same, then SimplifyDemandedBits figured + // out that the LHS or RHS is a constant. Constant fold this now, so that // code below can assume that Min != Max. if (!isa<Constant>(Op0) && Op0Min == Op0Max) - return new ICmpInst(Pred, ConstantInt::get(Op0->getType(), Op0Min), Op1); + return new ICmpInst(Pred, ConstantExpr::getIntegerValue(Ty, Op0Min), Op1); if (!isa<Constant>(Op1) && Op1Min == Op1Max) - return new ICmpInst(Pred, Op0, ConstantInt::get(Op1->getType(), Op1Min)); + return new ICmpInst(Pred, Op0, ConstantExpr::getIntegerValue(Ty, Op1Min)); // Based on the range information we know about the LHS, see if we can // simplify this comparison. For example, (x&4) < 8 is always true. |

