Update ReleaseNotes: expand the section on enabling MemorySSA
authorAlina Sbirlea <asbirlea@google.com>
Wed, 16 Oct 2019 21:52:09 +0000 (21:52 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Wed, 16 Oct 2019 21:52:09 +0000 (21:52 +0000)
llvm-svn: 375045

llvm/docs/ReleaseNotes.rst

index 5899cb8..796b052 100644 (file)
@@ -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