summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-02-25 10:33:33 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-02-25 10:33:33 +0000
commitceb5daa5675d25fa61b5d3499fdb0084870fc006 (patch)
tree9aedad4b553bf8d094152ee7d185af87f18470ee /llvm/lib/Transforms/Utils
parenta28097da4fbae525909886f348046e24248fd4c0 (diff)
downloadbcm5719-llvm-ceb5daa5675d25fa61b5d3499fdb0084870fc006.tar.gz
bcm5719-llvm-ceb5daa5675d25fa61b5d3499fdb0084870fc006.zip
Revert "SimplifyCFG: GEPs with just one non-constant index are also cheap."
Yes, there are other types than i8* and GEPs on them can produce an add+multiply. We don't consider that cheap enough to be speculatively executed. llvm-svn: 126481
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyCFG.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
index 3968d6e8d3b..c6708857cb5 100644
--- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -247,13 +247,11 @@ static bool DominatesMergePoint(Value *V, BasicBlock *BB,
if (PBB->getFirstNonPHIOrDbg() != I)
return false;
break;
- case Instruction::GetElementPtr: {
- // GEPs are cheap if all indices are constant or if there's only one index.
- GetElementPtrInst *GEP = cast<GetElementPtrInst>(I);
- if (!GEP->hasAllConstantIndices() && GEP->getNumIndices() > 1)
+ case Instruction::GetElementPtr:
+ // GEPs are cheap if all indices are constant.
+ if (!cast<GetElementPtrInst>(I)->hasAllConstantIndices())
return false;
break;
- }
case Instruction::Add:
case Instruction::Sub:
case Instruction::And:
OpenPOWER on IntegriCloud