[PATCH] D65338: [MemorySSA] Extend allowed behavior for simplified instructions.

George Burgess IV via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 29 22:15:49 PDT 2019


george.burgess.iv added a comment.

Thanks for this! Two nits and a question



================
Comment at: lib/Analysis/MemorySSAUpdater.cpp:487
                                         bool CloneWasSimplified) {
-  auto GetNewDefiningAccess = [&](MemoryAccess *MA) -> MemoryAccess * {
+  std::function<MemoryAccess *(MemoryAccess *)> GetNewDefiningAccess =
+      [&](MemoryAccess *MA) -> MemoryAccess * {
----------------
nit: if it's straightforward to turn this into a `static` helper, please do so.


================
Comment at: lib/Analysis/MemorySSAUpdater.cpp:538
             CloneWasSimplified ? nullptr : MUD);
-        MSSA->insertIntoListsForBlock(NewUseOrDef, NewBB, MemorySSA::End);
+        if (NewUseOrDef)
+          MSSA->insertIntoListsForBlock(NewUseOrDef, NewBB, MemorySSA::End);
----------------
`NewUseOrDef` should always be non-null, no?


================
Comment at: test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll:2
+; RUN: opt -verify-memoryssa -enable-mssa-loop-dependency -loop-rotate %s -S | FileCheck %s 
+
+; CHECK-LABEL: @test()
----------------
`; REQUIRES: asserts`


Repository:
  rL LLVM

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

https://reviews.llvm.org/D65338





More information about the llvm-commits mailing list