[PATCH] D30112: [InlineCost] Move the code in isGEPOffsetConstant to a lambda. NFC.
Easwaran Raman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 24 16:22:06 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL296208: [InlineCost] Move the code in isGEPOffsetConstant to a lambda. (authored by eraman).
Changed prior to commit:
https://reviews.llvm.org/D30112?vs=88941&id=89748#toc
Repository:
rL LLVM
https://reviews.llvm.org/D30112
Files:
llvm/trunk/lib/Analysis/InlineCost.cpp
Index: llvm/trunk/lib/Analysis/InlineCost.cpp
===================================================================
--- llvm/trunk/lib/Analysis/InlineCost.cpp
+++ llvm/trunk/lib/Analysis/InlineCost.cpp
@@ -142,7 +142,6 @@
void disableSROA(Value *V);
void accumulateSROACost(DenseMap<Value *, int>::iterator CostIt,
int InstructionCost);
- bool isGEPOffsetConstant(GetElementPtrInst &GEP);
bool isGEPFree(GetElementPtrInst &GEP);
bool accumulateGEPOffset(GEPOperator &GEP, APInt &Offset);
bool simplifyCallSite(Function *F, CallSite CS);
@@ -300,17 +299,6 @@
SROACostSavings += InstructionCost;
}
-/// \brief Check whether a GEP's indices are all constant.
-///
-/// Respects any simplified values known during the analysis of this callsite.
-bool CallAnalyzer::isGEPOffsetConstant(GetElementPtrInst &GEP) {
- for (User::op_iterator I = GEP.idx_begin(), E = GEP.idx_end(); I != E; ++I)
- if (!isa<Constant>(*I) && !SimplifiedValues.lookup(*I))
- return false;
-
- return true;
-}
-
/// \brief Accumulate a constant GEP offset into an APInt if possible.
///
/// Returns false if unable to compute the offset for any reason. Respects any
@@ -440,7 +428,15 @@
}
}
- if (isGEPOffsetConstant(I)) {
+ // Lambda to check whether a GEP's indices are all constant.
+ auto IsGEPOffsetConstant = [&](GetElementPtrInst &GEP) {
+ for (User::op_iterator I = GEP.idx_begin(), E = GEP.idx_end(); I != E; ++I)
+ if (!isa<Constant>(*I) && !SimplifiedValues.lookup(*I))
+ return false;
+ return true;
+ };
+
+ if (IsGEPOffsetConstant(I)) {
if (SROACandidate)
SROAArgValues[&I] = SROAArg;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30112.89748.patch
Type: text/x-patch
Size: 1675 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170225/5405c31a/attachment.bin>
More information about the llvm-commits
mailing list