aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--llvm/docs/ReleaseNotes.rst15
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index 5899cb8..796b052 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -41,7 +41,20 @@ Non-comprehensive list of changes in this release
for adding a new subsection.
* The ISD::FP_ROUND_INREG opcode and related code was removed from SelectionDAG.
-* Enabled MemorySSA as a loop dependency.
+* Enabled MemorySSA as a loop dependency. Since
+ `r370957 <https://reviews.llvm.org/rL370957>`_
+ (`D58311 <https://reviews.llvm.org/D58311>`_ ``[MemorySSA & LoopPassManager]
+ Enable MemorySSA as loop dependency. Update tests.``), the MemorySSA analysis
+ is being preserved and used by a series of loop passes. The most significant
+ use is in LICM, where the instruction hoisting and sinking relies on aliasing
+ information provided by MemorySSA vs previously creating an AliasSetTracker.
+ The LICM step of promoting variables to scalars still relies on the creation
+ of an AliasSetTracker, but its use is reduced to only be enabled for loops
+ with a small number of overall memory instructions. This choice was motivated
+ by experimental results showing compile and run time benefits or replacing the
+ AliasSetTracker usage with MemorySSA without any performance penalties.
+ The fact that MemorySSA is now preserved by and available in a series of loop
+ passes, also opens up opportunities for its use in those respective passes.
.. NOTE
If you would like to document a larger change, then you can add a