From efd7f9c360ae90b4111030d94477579a8c8f79c5 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 16 Jul 2010 17:58:45 +0000 Subject: Reorder the contents of various getAnalysisUsage functions, eliminating a redundant loopsimplify run from the default -O2 sequence. llvm-svn: 108539 --- llvm/lib/Transforms/Utils/LoopSimplify.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Transforms/Utils/LoopSimplify.cpp') diff --git a/llvm/lib/Transforms/Utils/LoopSimplify.cpp b/llvm/lib/Transforms/Utils/LoopSimplify.cpp index 4f4edf3a754..703689e512e 100644 --- a/llvm/lib/Transforms/Utils/LoopSimplify.cpp +++ b/llvm/lib/Transforms/Utils/LoopSimplify.cpp @@ -77,12 +77,19 @@ namespace { virtual void getAnalysisUsage(AnalysisUsage &AU) const { // We need loop information to identify the loops... - AU.addRequiredTransitive(); AU.addRequiredTransitive(); - - AU.addPreserved(); AU.addPreserved(); + + // Request DominanceFrontier now, even though LoopSimplify does + // not use it. This allows Pass Manager to schedule Dominance + // Frontier early enough such that one LPPassManager can handle + // multiple loop transformation passes. + AU.addRequired(); AU.addPreserved(); + + AU.addRequiredTransitive(); + AU.addPreserved(); + AU.addPreserved(); AU.addPreserved(); AU.addPreservedID(BreakCriticalEdgesID); // No critical edges added. -- cgit v1.2.3