[PATCH] D21772: New pass manager for LICM.

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 6 11:26:24 PDT 2016

silvas added inline comments.

Comment at: lib/Transforms/Scalar/LICM.cpp:1131-1133
@@ -1097,4 +1130,5 @@
-void LICM::cloneBasicBlockAnalysis(BasicBlock *From, BasicBlock *To, Loop *L) {
-  AliasSetTracker *AST = LoopToAliasSetMap.lookup(L);
+void LegacyLICMPass::cloneBasicBlockAnalysis(BasicBlock *From, BasicBlock *To,
+                                             Loop *L) {
+  AliasSetTracker *AST = LICM.getLoopToAliasSetMap().lookup(L);
   if (!AST)
Thanks for taking a look at this. If it is just a compile time optimization then it is not a big deal (unless it is a huge difference). We can introduce a similar mechanism in the new PM if this shows up in the profile.

Comment at: test/Transforms/LICM/hoist-deref-load.ll:2
@@ -1,2 +1,3 @@
 ; RUN: opt -S -basicaa -licm < %s | FileCheck %s
+; RUN: opt -loop-simplifycfg %s | opt -aa-pipeline=basic-aa -passes='require<aa>,require<targetir>,require<scalar-evolution>,loop(licm)' -S | FileCheck %s
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
You can do `loop(simplify-cfg,licm)`


More information about the llvm-commits mailing list