Change ET-Forest to automatically recalculate its DFSnum's if too many slow

queries are made.

Patch by Daniel Berlin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25323 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-01-14 20:55:09 +00:00
parent b47fad9892
commit 25abb1dc09
4 changed files with 41 additions and 14 deletions
+2 -2
View File
@@ -104,7 +104,7 @@ void LoopInfo::releaseMemory() {
}
void LoopInfo::Calculate(const ETForest &EF) {
void LoopInfo::Calculate(ETForest &EF) {
BasicBlock *RootNode = EF.getRoot();
for (df_iterator<BasicBlock*> NI = df_begin(RootNode),
@@ -135,7 +135,7 @@ static bool isNotAlreadyContainedIn(Loop *SubLoop, Loop *ParentLoop) {
return isNotAlreadyContainedIn(SubLoop->getParentLoop(), ParentLoop);
}
Loop *LoopInfo::ConsiderForLoop(BasicBlock *BB, const ETForest &EF) {
Loop *LoopInfo::ConsiderForLoop(BasicBlock *BB, ETForest &EF) {
if (BBMap.find(BB) != BBMap.end()) return 0; // Haven't processed this node?
std::vector<BasicBlock *> TodoStack;