Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25200 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-01-11 05:08:57 +00:00
parent 45a0e9b04d
commit 2e761e29f8

View File

@@ -35,7 +35,7 @@
namespace llvm { namespace llvm {
struct DominatorSet; struct ETForest;
class LoopInfo; class LoopInfo;
class PHINode; class PHINode;
class Instruction; class Instruction;
@@ -267,8 +267,6 @@ public:
virtual void releaseMemory(); virtual void releaseMemory();
void print(std::ostream &O, const Module* = 0) const; void print(std::ostream &O, const Module* = 0) const;
/// getAnalysisUsage - Requires dominator sets
///
virtual void getAnalysisUsage(AnalysisUsage &AU) const; virtual void getAnalysisUsage(AnalysisUsage &AU) const;
/// removeLoop - This removes the specified top-level loop from this loop info /// removeLoop - This removes the specified top-level loop from this loop info
@@ -299,8 +297,8 @@ public:
static void stub(); // Noop static void stub(); // Noop
private: private:
void Calculate(const DominatorSet &DS); void Calculate(const ETForest &EF);
Loop *ConsiderForLoop(BasicBlock *BB, const DominatorSet &DS); Loop *ConsiderForLoop(BasicBlock *BB, const ETForest &EF);
void MoveSiblingLoopInto(Loop *NewChild, Loop *NewParent); void MoveSiblingLoopInto(Loop *NewChild, Loop *NewParent);
void InsertLoopInto(Loop *L, Loop *Parent); void InsertLoopInto(Loop *L, Loop *Parent);
}; };