[PATCH] D18065: Fix bugs in the MemorySSA walker

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 11 17:20:47 PST 2016


dberlin added inline comments.

================
Comment at: lib/Transforms/Utils/MemorySSA.cpp:930
@@ +929,3 @@
+            break;
+
+          bool Backedge =
----------------
I'm unclear why this makes sense. It tracks whether you've ever seen a backedge before hitting this phi.

If you see a backedge and move past that cycle, it will still trigger on the next cycle.

Honestly, this is also moving a bit far away from normal usage of the DFI iterator.
I am kinda wondering if we should not just turn this into the traditional SCC finding algorithm (treating the tuple of <thing, memorylocation> as the node we are visiting), and then we will know exactly which stuff is a cycle and which is not.



http://reviews.llvm.org/D18065





More information about the llvm-commits mailing list