diff options
| -rw-r--r-- | llvm/docs/ReleaseNotes.rst | 15 |
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 |
