[PATCH] D21772: New pass manager for LICM.

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 11 14:01:37 PDT 2016


silvas added inline comments.

================
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"
----------------
davidxl wrote:
> danielcdh wrote:
> > silvas wrote:
> > > You can do `loop(simplify-cfg,licm)`
> > Unfortunately, the loop-simplifycfg pass behaviors quite differently under the new PM:
> > 
> > opt -passes='require<domtree>,loop(simplify-cfg)' test/Transforms/LICM/hoist-deref-load.ll -S > 1
> > opt -loop-simplifycfg test/Transforms/LICM/hoist-deref-load.ll -S > 2
> > 
> > The output 1 and 2 are quite different. Am I missing something when invoking it in the new PM?
> it also depends on loop analysis and loop canonicalization (loop simplification). The later is not ported yet.
> 
> So for now just add a FIXME there and proceed with your original change.
Davide recently committed LoopSimplify in http://reviews.llvm.org/D21404 / r274959. Dehao, you should be able to add an explicit call to LoopSimplify in order to get the result you want.


http://reviews.llvm.org/D21772





More information about the llvm-commits mailing list