[PATCH] D43473: [mem2reg] Use range loops (NFCI)

Brian Gesiak via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 19 13:47:34 PST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL325532: [mem2reg] Use range loops (NFCI) (authored by modocache, committed by ).

Repository:
  rL LLVM

https://reviews.llvm.org/D43473

Files:
  llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp


Index: llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
+++ llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
@@ -136,8 +136,8 @@
     // As we scan the uses of the alloca instruction, keep track of stores,
     // and decide whether all of the loads and stores to the alloca are within
     // the same basic block.
-    for (auto UI = AI->user_begin(), E = AI->user_end(); UI != E;) {
-      Instruction *User = cast<Instruction>(*UI++);
+    for (User *U : AI->users()) {
+      Instruction *User = cast<Instruction>(U);
 
       if (StoreInst *SI = dyn_cast<StoreInst>(User)) {
         // Remember the basic blocks which define new values for the alloca
@@ -325,9 +325,8 @@
   // Knowing that this alloca is promotable, we know that it's safe to kill all
   // instructions except for load and store.
 
-  for (auto UI = AI->user_begin(), UE = AI->user_end(); UI != UE;) {
-    Instruction *I = cast<Instruction>(*UI);
-    ++UI;
+  for (User *U : AI->users()) {
+    Instruction *I = cast<Instruction>(U);
     if (isa<LoadInst>(I) || isa<StoreInst>(I))
       continue;
 
@@ -364,8 +363,8 @@
   // Clear out UsingBlocks.  We will reconstruct it here if needed.
   Info.UsingBlocks.clear();
 
-  for (auto UI = AI->user_begin(), E = AI->user_end(); UI != E;) {
-    Instruction *UserInst = cast<Instruction>(*UI++);
+  for (User *U : AI->users()) {
+    Instruction *UserInst = cast<Instruction>(U);
     if (!isa<LoadInst>(UserInst)) {
       assert(UserInst == OnlyStore && "Should only have load/stores");
       continue;
@@ -479,8 +478,8 @@
 
   // Walk all of the loads from this alloca, replacing them with the nearest
   // store above them, if any.
-  for (auto UI = AI->user_begin(), E = AI->user_end(); UI != E;) {
-    LoadInst *LI = dyn_cast<LoadInst>(*UI++);
+  for (User *U : AI->users()) {
+    LoadInst *LI = dyn_cast<LoadInst>(U);
     if (!LI)
       continue;
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43473.134966.patch
Type: text/x-patch
Size: 2041 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180219/c8e7af63/attachment.bin>


More information about the llvm-commits mailing list