[PATCH] D9151: Loop Versioning for LICM
Adam Nemet via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 15 11:57:20 PST 2016
anemet added inline comments.
================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:346-349
@@ -341,2 +345,6 @@
+ if (UseLoopVersioningLICM) {
+ MPM.add(createLoopVersioningLICMPass()); // Do LoopVersioningLICM
+ MPM.add(createLICMPass()); // Hoist loop invariants
+ }
if (!DisableUnitAtATime && OptLevel > 1 && !PrepareForLTO) {
----------------
@ashutosh.nema, We should document the outcome of the above discussion in a comment here. E.g.:
The reason we run LICMLVer right after the CGSCC pass manager so that later patches can take advantage of the new non-alias annotations.
And the reason we actually schedule an LICM at this point so that invariant access to global could be hoisted out of the loop which could allow further vectorizations.
@hfinkel, Please let me know if any of this is inaccurate.
Repository:
rL LLVM
http://reviews.llvm.org/D9151
More information about the llvm-commits
mailing list