forked from OSchip/llvm-project
InstCombine: Simplify code, no functionality change.
llvm-svn: 212449
This commit is contained in:
parent
f0831ee8d2
commit
d0993e0077
llvm/lib/Transforms/InstCombine
|
@ -683,26 +683,12 @@ Instruction *InstCombiner::FoldGEPICmp(GEPOperator *GEPLHS, Value *RHS,
|
|||
}
|
||||
|
||||
// If one of the GEPs has all zero indices, recurse.
|
||||
bool AllZeros = true;
|
||||
for (unsigned i = 1, e = GEPLHS->getNumOperands(); i != e; ++i)
|
||||
if (!isa<Constant>(GEPLHS->getOperand(i)) ||
|
||||
!cast<Constant>(GEPLHS->getOperand(i))->isNullValue()) {
|
||||
AllZeros = false;
|
||||
break;
|
||||
}
|
||||
if (AllZeros)
|
||||
if (GEPLHS->hasAllZeroIndices())
|
||||
return FoldGEPICmp(GEPRHS, GEPLHS->getOperand(0),
|
||||
ICmpInst::getSwappedPredicate(Cond), I);
|
||||
|
||||
// If the other GEP has all zero indices, recurse.
|
||||
AllZeros = true;
|
||||
for (unsigned i = 1, e = GEPRHS->getNumOperands(); i != e; ++i)
|
||||
if (!isa<Constant>(GEPRHS->getOperand(i)) ||
|
||||
!cast<Constant>(GEPRHS->getOperand(i))->isNullValue()) {
|
||||
AllZeros = false;
|
||||
break;
|
||||
}
|
||||
if (AllZeros)
|
||||
if (GEPRHS->hasAllZeroIndices())
|
||||
return FoldGEPICmp(GEPLHS, GEPRHS->getOperand(0), Cond, I);
|
||||
|
||||
bool GEPsInBounds = GEPLHS->isInBounds() && GEPRHS->isInBounds();
|
||||
|
|
Loading…
Reference in New Issue