diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-09-06 02:26:10 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-09-06 02:26:10 +0000 |
commit | 8f78a58e14fa754cde827e46ad03f00c7a6ead01 (patch) | |
tree | 1d83ef98ecaa3cd9f02b23d398f4b0adbed71ed9 /lib/Transforms/Utils/LCSSA.cpp | |
parent | 92a97a9166e359e195d949e63d7e24a4a33284cf (diff) |
Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81101 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/LCSSA.cpp')
-rw-r--r-- | lib/Transforms/Utils/LCSSA.cpp | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/lib/Transforms/Utils/LCSSA.cpp b/lib/Transforms/Utils/LCSSA.cpp index e0251f8380..84fcc643bf 100644 --- a/lib/Transforms/Utils/LCSSA.cpp +++ b/lib/Transforms/Utils/LCSSA.cpp @@ -58,7 +58,6 @@ namespace { DominatorTree *DT; std::vector<BasicBlock*> LoopBlocks; PredIteratorCache PredCache; - Loop *L; virtual bool runOnLoop(Loop *L, LPPassManager &LPM); @@ -73,9 +72,9 @@ namespace { AU.setPreservesCFG(); AU.addRequiredID(LoopSimplifyID); AU.addPreservedID(LoopSimplifyID); - AU.addRequiredTransitive<LoopInfo>(); + AU.addRequired<LoopInfo>(); AU.addPreserved<LoopInfo>(); - AU.addRequiredTransitive<DominatorTree>(); + AU.addRequired<DominatorTree>(); AU.addPreserved<ScalarEvolution>(); AU.addPreserved<DominatorTree>(); @@ -87,17 +86,6 @@ namespace { AU.addPreserved<DominanceFrontier>(); } private: - - /// verifyAnalysis() - Verify loop nest. - virtual void verifyAnalysis() const { -#ifndef NDEBUG - // Sanity check: Check basic loop invariants. - L->verifyLoop(); - // Check the special guarantees that LCSSA makes. - assert(L->isLCSSAForm()); -#endif - } - void getLoopValuesUsedOutsideLoop(Loop *L, SetVector<Instruction*> &AffectedValues, const SmallVector<BasicBlock*, 8>& exitBlocks); @@ -119,8 +107,7 @@ Pass *llvm::createLCSSAPass() { return new LCSSA(); } const PassInfo *const llvm::LCSSAID = &X; /// runOnFunction - Process all loops in the function, inner-most out. -bool LCSSA::runOnLoop(Loop *l, LPPassManager &LPM) { - L = l; +bool LCSSA::runOnLoop(Loop *L, LPPassManager &LPM) { PredCache.clear(); LI = &LPM.getAnalysis<LoopInfo>(); |