diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-01-05 10:56:13 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-01-05 11:01:10 +0000 |
| commit | 313d982df65a7a8f1da2da5f0e03e6b6e301ce3c (patch) | |
| tree | 05613e32258e19add6b5c2a80b28cccb445a2434 /llvm/lib/Transforms | |
| parent | eba6deab22b576004a209b3f42ccc5e58f7603bf (diff) | |
| download | llvm-313d982df65a7a8f1da2da5f0e03e6b6e301ce3c.zip llvm-313d982df65a7a8f1da2da5f0e03e6b6e301ce3c.tar.gz llvm-313d982df65a7a8f1da2da5f0e03e6b6e301ce3c.tar.bz2 | |
[IR] Add ConstantInt::getBool helpers to wrap getTrue/getFalse.
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp index 83b310b..87d4b40 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -5037,11 +5037,9 @@ Instruction *InstCombinerImpl::foldICmpUsingKnownBits(ICmpInst &I) { llvm_unreachable("Unknown icmp opcode!"); case ICmpInst::ICMP_EQ: case ICmpInst::ICMP_NE: { - if (Op0Max.ult(Op1Min) || Op0Min.ugt(Op1Max)) { - return Pred == CmpInst::ICMP_EQ - ? replaceInstUsesWith(I, ConstantInt::getFalse(I.getType())) - : replaceInstUsesWith(I, ConstantInt::getTrue(I.getType())); - } + if (Op0Max.ult(Op1Min) || Op0Min.ugt(Op1Max)) + return replaceInstUsesWith( + I, ConstantInt::getBool(I.getType(), Pred == CmpInst::ICMP_NE)); // If all bits are known zero except for one, then we know at most one bit // is set. If the comparison is against zero, then this is a check to see if |
