Template-ize more of the DomTree internal implementation details. Only the calculate() methods for DomTree and PostDomTree remain to be merged/template-ized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42476 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2007-09-30 04:17:16 +00:00
parent c28476f1d9
commit ab528fe0fb
5 changed files with 145 additions and 156 deletions

View File

@@ -275,10 +275,15 @@ public:
virtual void dump();
protected:
friend void Compress(DominatorTreeBase& DT, BasicBlock *VIn);
friend BasicBlock *Eval(DominatorTreeBase& DT, BasicBlock *V);
friend void Link(DominatorTreeBase& DT, BasicBlock *V,
BasicBlock *W, InfoRec &WInfo);
template<class GraphT> friend void Compress(DominatorTreeBase& DT,
typename GraphT::NodeType* VIn);
template<class GraphT> friend typename GraphT::NodeType* Eval(
DominatorTreeBase& DT,
typename GraphT::NodeType* V);
template<class GraphT> friend void Link(DominatorTreeBase& DT,
typename GraphT::NodeType* V,
typename GraphT::NodeType* W,
InfoRec &WInfo);
template<class GraphT> friend unsigned DFSPass(DominatorTreeBase& DT,
typename GraphT::NodeType* V,