aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/LICM.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Scalar/LICM.cpp')
-rw-r--r--lib/Transforms/Scalar/LICM.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp
index c26fb6bef4..190d407764 100644
--- a/lib/Transforms/Scalar/LICM.cpp
+++ b/lib/Transforms/Scalar/LICM.cpp
@@ -113,8 +113,8 @@ namespace {
///
bool inSubLoop(BasicBlock *BB) {
assert(CurLoop->contains(BB) && "Only valid if BB is IN the loop");
- for (unsigned i = 0, e = CurLoop->getSubLoops().size(); i != e; ++i)
- if (CurLoop->getSubLoops()[i]->contains(BB))
+ for (Loop::iterator I = CurLoop->begin(), E = CurLoop->end(); I != E; ++I)
+ if ((*I)->contains(BB))
return true; // A subloop actually contains this block!
return false;
}
@@ -221,9 +221,7 @@ bool LICM::runOnFunction(Function &) {
DT = &getAnalysis<DominatorTree>();
// Hoist expressions out of all of the top-level loops.
- const std::vector<Loop*> &TopLevelLoops = LI->getTopLevelLoops();
- for (std::vector<Loop*>::const_iterator I = TopLevelLoops.begin(),
- E = TopLevelLoops.end(); I != E; ++I) {
+ for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I) {
AliasSetTracker AST(*AA);
visitLoop(*I, AST);
}
@@ -235,8 +233,7 @@ bool LICM::runOnFunction(Function &) {
///
void LICM::visitLoop(Loop *L, AliasSetTracker &AST) {
// Recurse through all subloops before we process this loop...
- for (std::vector<Loop*>::const_iterator I = L->getSubLoops().begin(),
- E = L->getSubLoops().end(); I != E; ++I) {
+ for (Loop::iterator I = L->begin(), E = L->end(); I != E; ++I) {
AliasSetTracker SubAST(*AA);
visitLoop(*I, SubAST);