[PATCH] D100802: [PassManager] add late LICM to LTO pipeline to undo InstCombine sinking

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 20 06:09:57 PDT 2021


lebedev.ri added inline comments.


================
Comment at: llvm/test/Other/opt-LTO-pipeline.ll:179-190
+; CHECK-NEXT:     Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT:     Function Alias Analysis Results
+; CHECK-NEXT:     Memory SSA
+; CHECK-NEXT:     Natural Loop Information
+; CHECK-NEXT:     Canonicalize natural loops
+; CHECK-NEXT:     LCSSA Verifier
+; CHECK-NEXT:     Loop-Closed SSA Form Pass
----------------
The problem here is that we do this after the `FunctionPass Manager` finishes.
This seems suboptimal from cache locality perspective,
and that is my only guess as to why we are seeing such huge compile-time regression
in full LTO only, because full lto results in *huge* modules
with lots of functions.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100802/new/

https://reviews.llvm.org/D100802



More information about the llvm-commits mailing list