[PATCH] D16875: MemorySSA Optimizations: Patch 1 of N
George Burgess IV via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 3 21:22:00 PST 2016
george.burgess.iv created this revision.
george.burgess.iv added reviewers: hfinkel, reames.
george.burgess.iv added subscribers: dberlin, davidxl, llvm-commits.
This patch re-adds two of the optimizations that were taken out of MemorySSA due to sketchiness.
- We now try to take advantage of memory ordering rules on loads before querying AA
- We recognize and appropriately react to invariant loads, and loads that AA can prove point constant memory.
Note that the memory ordering check was strengthened to `Monotonic`, because that's the equivalent of `std::memory_order_relaxed`, which guarantees no ordering whatsoever, AFAIK.
Also note that I'm not an expert in memory models. So if anything seems fishy, let me know. :)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 10088 bytes
Desc: not available
More information about the llvm-commits