[PATCH] D11434: Allow value forwarding past release fences in EarlyCSE

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 16:31:09 PDT 2015


reames added inline comments.

================
Comment at: lib/Transforms/Scalar/EarlyCSE.cpp:617
@@ +616,3 @@
+    // A release fence requires that all stores complete before it, but does
+    // not prevent the reordering of following loads 'before' the fence.  As a
+    // result, we don't need to consider it as writing to memory and don't need
----------------
jfb wrote:
> Getting re-acquainted with the code: it doesn't seem like this change exercises a test?
Huh?  Not sure what you're asking.  The first two tests in the included file cover cases this triggers.

================
Comment at: test/Transforms/EarlyCSE/fence.ll:59
@@ +58,3 @@
+; We can not dead store eliminate accross the fence.  We could in 
+; principal reorder the second store above the fence and then DSE either
+; store, but this is beyond the simple last-store DSE which EarlyCSE
----------------
jfb wrote:
> principle
Will fix in next round.


http://reviews.llvm.org/D11434





More information about the llvm-commits mailing list