diff options
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp index 00fc416..cd21f55 100644 --- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp +++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp @@ -511,10 +511,8 @@ static void findFuncPointers(const Constant *I, uint64_t StartingOffset, assert(STy); const StructLayout *SL = DL.getStructLayout(C->getType()); - for (StructType::element_iterator EB = STy->element_begin(), EI = EB, - EE = STy->element_end(); - EI != EE; ++EI) { - auto Offset = SL->getElementOffset(EI - EB); + for (auto EI : llvm::enumerate(STy->elements())) { + auto Offset = SL->getElementOffset(EI.index()); unsigned Op = SL->getElementContainingOffset(Offset); findFuncPointers(cast<Constant>(I->getOperand(Op)), StartingOffset + Offset, M, Index, VTableFuncs); |