From 41b1a489f567bd7744264c560daf4ee801bcf116 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69752 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Utils/InlineCost.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/lib/Transforms/Utils/InlineCost.cpp b/lib/Transforms/Utils/InlineCost.cpp index ce8b542bdf4..c9eb0ea1c90 100644 --- a/lib/Transforms/Utils/InlineCost.cpp +++ b/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;