diff options
author | Owen Anderson <resistor@mac.com> | 2007-09-28 01:23:47 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2007-09-28 01:23:47 +0000 |
commit | 303f47b1dd3166a8abcd5425f863f7b4815a8e42 (patch) | |
tree | 32f69488418f4ef596697887c2d65c825e15bdb0 /lib/Analysis/PostDominators.cpp | |
parent | 8decf6bc18c444932697732ede7526d6e28ecf3f (diff) |
Have PostDomTree use the newly templated DFSPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42427 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/PostDominators.cpp')
-rw-r--r-- | lib/Analysis/PostDominators.cpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/lib/Analysis/PostDominators.cpp b/lib/Analysis/PostDominators.cpp index b8d833e23d..cd29749c83 100644 --- a/lib/Analysis/PostDominators.cpp +++ b/lib/Analysis/PostDominators.cpp @@ -28,51 +28,6 @@ char PostDominanceFrontier::ID = 0; static RegisterPass<PostDominatorTree> F("postdomtree", "Post-Dominator Tree Construction", true); -unsigned PostDominatorTree::DFSPass(BasicBlock *V, unsigned N) { - std::vector<BasicBlock *> workStack; - SmallPtrSet<BasicBlock *, 32> Visited; - workStack.push_back(V); - - do { - BasicBlock *currentBB = workStack.back(); - InfoRec &CurVInfo = Info[currentBB]; - - // Visit each block only once. - if (Visited.insert(currentBB)) { - CurVInfo.Semi = ++N; - CurVInfo.Label = currentBB; - - Vertex.push_back(currentBB); // Vertex[n] = current; - // Info[currentBB].Ancestor = 0; - // Ancestor[n] = 0 - // Child[currentBB] = 0; - CurVInfo.Size = 1; // Size[currentBB] = 1 - } - - // Visit children - bool visitChild = false; - for (pred_iterator PI = pred_begin(currentBB), PE = pred_end(currentBB); - PI != PE && !visitChild; ++PI) { - InfoRec &SuccVInfo = Info[*PI]; - if (SuccVInfo.Semi == 0) { - SuccVInfo.Parent = currentBB; - if (!Visited.count(*PI)) { - workStack.push_back(*PI); - visitChild = true; - } - } - } - - // If all children are visited or if this block has no child then pop this - // block out of workStack. - if (!visitChild) - workStack.pop_back(); - - } while (!workStack.empty()); - - return N; -} - //===----------------------------------------------------------------------===// // PostDominanceFrontier Implementation //===----------------------------------------------------------------------===// |