File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,20 @@ Non-comprehensive list of changes in this release
41
41
for adding a new subsection.
42
42
43
43
* The ISD::FP_ROUND_INREG opcode and related code was removed from SelectionDAG.
44
- * Enabled MemorySSA as a loop dependency.
44
+ * Enabled MemorySSA as a loop dependency. Since
45
+ `r370957 <https://reviews.llvm.org/rL370957 >`_
46
+ (`D58311 <https://reviews.llvm.org/D58311 >`_ ``[MemorySSA & LoopPassManager]
47
+ Enable MemorySSA as loop dependency. Update tests. ``), the MemorySSA analysis
48
+ is being preserved and used by a series of loop passes. The most significant
49
+ use is in LICM, where the instruction hoisting and sinking relies on aliasing
50
+ information provided by MemorySSA vs previously creating an AliasSetTracker.
51
+ The LICM step of promoting variables to scalars still relies on the creation
52
+ of an AliasSetTracker, but its use is reduced to only be enabled for loops
53
+ with a small number of overall memory instructions. This choice was motivated
54
+ by experimental results showing compile and run time benefits or replacing the
55
+ AliasSetTracker usage with MemorySSA without any performance penalties.
56
+ The fact that MemorySSA is now preserved by and available in a series of loop
57
+ passes, also opens up opportunities for its use in those respective passes.
45
58
46
59
.. NOTE
47
60
If you would like to document a larger change, then you can add a
You can’t perform that action at this time.
0 commit comments