summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-09-01 21:27:31 +0000
committerCraig Topper <craig.topper@intel.com>2017-09-01 21:27:31 +0000
commitd3b465606ab4d6f3966c110ad0626f162aaf5c97 (patch)
treefdbe61511d7c2f97ddb801ed08a4beb6b148561e /llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
parent085c1f4deacaee22ff6bc09e35bc5044988f8359 (diff)
downloadbcm5719-llvm-d3b465606ab4d6f3966c110ad0626f162aaf5c97.tar.gz
bcm5719-llvm-d3b465606ab4d6f3966c110ad0626f162aaf5c97.zip
[InstCombine] Don't require the compare types to be the same in getMaskedTypeForICmpPair.
A future patch will make the code look through truncates feeding the compare. So the compares might be different types but the pretruncated types might be the same. This should be safe because we still require the same Value* to be used truncated or not in both compares. So that serves to ensure the types are the same. llvm-svn: 312381
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index 4a6c46ddaab..36bb4d012ca 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -312,10 +312,9 @@ static unsigned getMaskedTypeForICmpPair(Value *&A, Value *&B, Value *&C,
ICmpInst *RHS,
ICmpInst::Predicate &PredL,
ICmpInst::Predicate &PredR) {
- if (LHS->getOperand(0)->getType() != RHS->getOperand(0)->getType())
- return 0;
// vectors are not (yet?) supported. Don't support pointers either.
- if (!LHS->getOperand(0)->getType()->isIntegerTy())
+ if (!LHS->getOperand(0)->getType()->isIntegerTy() ||
+ !RHS->getOperand(0)->getType()->isIntegerTy())
return 0;
// Here comes the tricky part:
OpenPOWER on IntegriCloud