diff options
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp index dad38e38cab..3a01d9cb4f4 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -988,12 +988,14 @@ Instruction *InstCombiner::foldGEPICmp(GEPOperator *GEPLHS, Value *RHS,      }      // If one of the GEPs has all zero indices, recurse. -    if (GEPLHS->hasAllZeroIndices()) +    // FIXME: Handle vector of pointers. +    if (!GEPLHS->getType()->isVectorTy() && GEPLHS->hasAllZeroIndices())        return foldGEPICmp(GEPRHS, GEPLHS->getOperand(0),                           ICmpInst::getSwappedPredicate(Cond), I);      // If the other GEP has all zero indices, recurse. -    if (GEPRHS->hasAllZeroIndices()) +    // FIXME: Handle vector of pointers. +    if (!GEPRHS->getType()->isVectorTy() && GEPRHS->hasAllZeroIndices())        return foldGEPICmp(GEPLHS, GEPRHS->getOperand(0), Cond, I);      bool GEPsInBounds = GEPLHS->isInBounds() && GEPRHS->isInBounds(); | 

