[PM] Now that LoopInfo isn't in the Pass type hierarchy, it is much

cleaner to derive from the generic base.

Thise removes a ton of boiler plate code and somewhat strange and
pointless indirections. It also remove a bunch of the previously needed
friend declarations. To fully remove these, I also lifted the verify
logic into the generic LoopInfoBase, which seems good anyways -- it is
generic and useful logic even for the machine side.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226385 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth
2015-01-18 01:25:51 +00:00
parent e81cec19db
commit 5a2d01e5b8
11 changed files with 63 additions and 129 deletions

View File

@@ -982,9 +982,8 @@ void LoopConstrainer::addToParentLoopIfNeeded(IteratorTy Begin,
if (!ParentLoop)
return;
auto &LoopInfoBase = OriginalLoopInfo.getBase();
for (; Begin != End; Begin++)
ParentLoop->addBasicBlockToLoop(*Begin, LoopInfoBase);
ParentLoop->addBasicBlockToLoop(*Begin, OriginalLoopInfo);
}
bool LoopConstrainer::run() {