SimplifyCFG: GEPs with constant indices are cheap enough to be executed unconditionally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126445 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer
2011-02-24 22:46:11 +00:00
parent 93c65e6e66
commit 9b61c550c2
2 changed files with 25 additions and 0 deletions

View File

@ -247,6 +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.
if (!cast<GetElementPtrInst>(I)->hasAllConstantIndices())
return false;
break;
case Instruction::Add:
case Instruction::Sub:
case Instruction::And: