[PATCH] D13036: [LoopUnswitch] Require DominatorTree info.
Michael Zolotukhin via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 21 17:24:27 PDT 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL248230: [LoopUnswitch] Require DominatorTree info. (authored by mzolotukhin).
Changed prior to commit:
http://reviews.llvm.org/D13036?vs=35322&id=35328#toc
Repository:
rL LLVM
http://reviews.llvm.org/D13036
Files:
llvm/trunk/lib/Transforms/Scalar/LoopUnswitch.cpp
Index: llvm/trunk/lib/Transforms/Scalar/LoopUnswitch.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Scalar/LoopUnswitch.cpp
+++ llvm/trunk/lib/Transforms/Scalar/LoopUnswitch.cpp
@@ -193,6 +193,7 @@
AU.addPreserved<LoopInfoWrapperPass>();
AU.addRequiredID(LCSSAID);
AU.addPreservedID(LCSSAID);
+ AU.addRequired<DominatorTreeWrapperPass>();
AU.addPreserved<DominatorTreeWrapperPass>();
AU.addPreserved<ScalarEvolutionWrapperPass>();
AU.addRequired<TargetTransformInfoWrapperPass>();
@@ -412,23 +413,19 @@
*L->getHeader()->getParent());
LI = &getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
LPM = &LPM_Ref;
- DominatorTreeWrapperPass *DTWP =
- getAnalysisIfAvailable<DominatorTreeWrapperPass>();
- DT = DTWP ? &DTWP->getDomTree() : nullptr;
+ DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
currentLoop = L;
Function *F = currentLoop->getHeader()->getParent();
bool Changed = false;
do {
- assert(!DT || currentLoop->isLCSSAForm(*DT));
+ assert(currentLoop->isLCSSAForm(*DT));
redoLoop = false;
Changed |= processCurrentLoop();
} while(redoLoop);
- if (Changed) {
- // FIXME: Reconstruct dom info, because it is not preserved properly.
- if (DT)
- DT->recalculate(*F);
- }
+ // FIXME: Reconstruct dom info, because it is not preserved properly.
+ if (Changed)
+ DT->recalculate(*F);
return Changed;
}
@@ -1196,8 +1193,7 @@
// domtree here -- instead we force it to do a full recomputation
// after the pass is complete -- but we do need to inform it of
// new blocks.
- if (DT)
- DT->addNewBlock(Abort, NewSISucc);
+ DT->addNewBlock(Abort, NewSISucc);
}
SimplifyCode(Worklist, L);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13036.35328.patch
Type: text/x-patch
Size: 1806 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150922/ce447cc1/attachment.bin>
More information about the llvm-commits
mailing list