Request LCSSA after LoopSimplify. This fixes a problem in which the
authorDan Gohman <gohman@apple.com>
Wed, 1 Jul 2009 23:21:38 +0000 (23:21 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 1 Jul 2009 23:21:38 +0000 (23:21 +0000)
PassManager was scheduling LCSSA before LoopSimplify, which does not
preserve LCSSA.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74661 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/IndVarSimplify.cpp

index 27e377f9037956ebb780273b87a8471fd9189c24..577d3cc46fa8964d0b8c3a0ece4fdae5ff3ec6fb 100644 (file)
@@ -82,10 +82,10 @@ namespace {
    virtual void getAnalysisUsage(AnalysisUsage &AU) const {
      AU.addRequired<DominatorTree>();
      AU.addRequired<ScalarEvolution>();
-     AU.addRequiredID(LCSSAID);
      AU.addRequiredID(LoopSimplifyID);
      AU.addRequired<LoopInfo>();
      AU.addRequired<IVUsers>();
+     AU.addRequiredID(LCSSAID);
      AU.addPreserved<ScalarEvolution>();
      AU.addPreservedID(LoopSimplifyID);
      AU.addPreserved<IVUsers>();