http://llvm.org/bugs/show_bug.cgi?id=9184

           Summary: PassManager should minimize number of LoopPassManagers
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Core LLVM classes
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


Currently, this analysis usage (taken from LoopStrengthReduce)

  AU.addRequired<LoopInfo>();
  AU.addRequiredID(LoopSimplifyID);
  AU.addRequired<DominatorTree>();
  AU.addRequired<ScalarEvolution>();
  AU.addRequired<IVUsers>();

causes this pass order:

     Natural Loop Information
      Loop Pass Manager
        Canonicalize natural loops
      Scalar Evolution Analysis
      Loop Pass Manager
        Induction Variable Users
        Canonicalize natural loops
        Induction Variable Users
        Loop Strength Reduction

The PassManager should move ScalarEvolution before all of the loop passes,
since they all preserve ScalarEvolution. It is easy enough to fix this by
changing the pass ordering, but in the future this could be done automatically.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to