[llvm] b7448a3 - [Attributor][NFC] Use indexes instead of iterator

Luofan Chen via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 15 08:12:04 PDT 2020


Author: Luofan Chen
Date: 2020-08-15T23:09:46+08:00
New Revision: b7448a348bb863365b3d4652010a29efedd8f2e7

URL: https://github.com/llvm/llvm-project/commit/b7448a348bb863365b3d4652010a29efedd8f2e7
DIFF: https://github.com/llvm/llvm-project/commit/b7448a348bb863365b3d4652010a29efedd8f2e7.diff

LOG: [Attributor][NFC] Use indexes instead of iterator

When adding elements when iterating, the iterator will become
valid, which could cause errors. This fixes the issue by using
indexes instead of iterator.

Added: 
    

Modified: 
    llvm/lib/Transforms/IPO/Attributor.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 6599ff6d6246..88e06558d652 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -2204,8 +2204,9 @@ static bool runAttributorOnFunctions(InformationCache &InfoCache,
   // TODO: for now we eagerly internalize functions without calculating the
   //       cost, we need a cost interface to determine whether internalizing
   //       a function is "benefitial"
-  if (AllowDeepWrapper) {
-    for (Function *F : Functions)
+  if (AllowDeepWrapper)
+    for (unsigned u = 0; u < Functions.size(); u ++) {
+      Function *F = Functions[u];
       if (!F->isDeclaration() && !F->isDefinitionExact() && F->getNumUses() &&
           !GlobalValue::isInterposableLinkage(F->getLinkage())) {
         Function *NewF = internalizeFunction(*F);
@@ -2219,7 +2220,7 @@ static bool runAttributorOnFunctions(InformationCache &InfoCache,
             CGUpdater.reanalyzeFunction(*CallerF);
           }
       }
-  }
+    }
 
   for (Function *F : Functions) {
     if (F->hasExactDefinition())


        


More information about the llvm-commits mailing list