summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2012-11-03 11:44:17 +0000
committerDuncan Sands <baldrick@free.fr>2012-11-03 11:44:17 +0000
commita318ef6fa6042c852e41310096eb77f17c3cfcae (patch)
tree5fd4020f1dd2fdc7d128418d5a84abc3146cd073 /llvm/lib/Transforms
parent34ff0ea522e91b8a0c84a88ef0e1b9c9ef4fb30a (diff)
downloadbcm5719-llvm-a318ef6fa6042c852e41310096eb77f17c3cfcae.tar.gz
bcm5719-llvm-a318ef6fa6042c852e41310096eb77f17c3cfcae.zip
Generalize the transform that boosts GEP indices to the size of a pointer to
also do it for vectors of pointers. llvm-svn: 167354
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstructionCombining.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index 7f8c3ae5581..ccf75bca2b9 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -1055,7 +1055,7 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
// by multiples of a zero size type with zero.
if (TD) {
bool MadeChange = false;
- Type *IntPtrTy = TD->getIntPtrType(GEP.getContext());
+ Type *IntPtrTy = TD->getIntPtrType(GEP.getPointerOperandType());
gep_type_iterator GTI = gep_type_begin(GEP);
for (User::op_iterator I = GEP.op_begin() + 1, E = GEP.op_end();
@@ -1074,7 +1074,7 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
}
Type *IndexTy = (*I)->getType();
- if (IndexTy != IntPtrTy && !IndexTy->isVectorTy()) {
+ if (IndexTy != IntPtrTy) {
// If we are using a wider index than needed for this platform, shrink
// it to what we need. If narrower, sign-extend it to what we need.
// This explicit cast can make subsequent optimizations more obvious.
OpenPOWER on IntegriCloud