[PATCH] D137707: Move "auto-init" instructions to the dominator of their users

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 2 16:28:51 PST 2023


serge-sans-paille marked an inline comment as done.
serge-sans-paille added inline comments.


================
Comment at: llvm/lib/Transforms/Utils/MoveAutoInit.cpp:72-73
+    } else if (auto *M = dyn_cast<MemoryPhi>(MA)) {
+      for (unsigned i = 0, n = M->getNumIncomingValues(); i != n; ++i)
+        WorkList.push_back(M->getIncomingValue(i));
+    }
----------------
nickdesaulniers wrote:
> serge-sans-paille wrote:
> > nickdesaulniers wrote:
> > > Are you able to use a range-for here with `MemoryPhi::incoming_values()`?
> > Unfortunately not, `SmallVector::append` doesn't accept `iterator_range`. I'll implement that.
> I was just thinking
> 
> ```
> for (MemoryAccess *MA : M->incoming_values())
>   Worklist.push_back(MA);
> ```
Yeah, but incoming_values iterates over `Use*` so I'd need a cast, so I'd rather keep current implementation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137707/new/

https://reviews.llvm.org/D137707



More information about the llvm-commits mailing list