From 58be2d4413008ebadbcc67bffa739c4a7327311e Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 21 Apr 2009 23:37:18 +0000 Subject: [PATCH] use predicate instead of hand-rolled loop llvm-svn: 69752 --- llvm/lib/Transforms/Utils/InlineCost.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/llvm/lib/Transforms/Utils/InlineCost.cpp b/llvm/lib/Transforms/Utils/InlineCost.cpp index ce8b542bdf44..c9eb0ea1c907 100644 --- a/llvm/lib/Transforms/Utils/InlineCost.cpp +++ b/llvm/lib/Transforms/Utils/InlineCost.cpp @@ -76,10 +76,8 @@ unsigned InlineCostAnalyzer::FunctionInfo:: Reduction += 10; else if (GetElementPtrInst *GEP = dyn_cast(I)) { // If the GEP has variable indices, we won't be able to do much with it. - for (Instruction::op_iterator I = GEP->op_begin()+1, E = GEP->op_end(); - I != E; ++I) - if (!isa(*I)) return 0; - Reduction += CountCodeReductionForAlloca(GEP)+15; + if (!GEP->hasAllConstantIndices()) + Reduction += CountCodeReductionForAlloca(GEP)+15; } else { // If there is some other strange instruction, we're not going to be able // to do much if we inline this. @@ -143,13 +141,8 @@ void InlineCostAnalyzer::FunctionInfo::analyzeFunction(Function *F) { dyn_cast(II)) { // If a GEP has all constant indices, it will probably be folded with // a load/store. - bool AllConstant = true; - for (unsigned i = 1, e = GEPI->getNumOperands(); i != e; ++i) - if (!isa(GEPI->getOperand(i))) { - AllConstant = false; - break; - } - if (AllConstant) continue; + if (GEPI->hasAllConstantIndices()) + continue; } ++NumInsts;