diff options
author | Jakub Kuderski <kubakuderski@gmail.com> | 2017-07-26 18:07:40 +0000 |
---|---|---|
committer | Jakub Kuderski <kubakuderski@gmail.com> | 2017-07-26 18:07:40 +0000 |
commit | c271dea0a7924b6c284ec0bf944fc1f020e5866f (patch) | |
tree | 06cd1c8afb14c3e0be09683fb615bea0554f7c8c /llvm/lib/IR/Dominators.cpp | |
parent | b0c78096a58710d28e7e35b408a7fa5aa2b1185c (diff) | |
download | bcm5719-llvm-c271dea0a7924b6c284ec0bf944fc1f020e5866f.tar.gz bcm5719-llvm-c271dea0a7924b6c284ec0bf944fc1f020e5866f.zip |
[Dominators] Move root-finding out of DomTreeBase and simplify it
Summary:
This patch moves root-finding logic from DominatorTreeBase to GenericDomTreeConstruction.h.
It makes the behavior simpler and more consistent by always adding a virtual root to PostDominatorTrees.
Reviewers: dberlin, davide, grosser, sanjoy
Reviewed By: dberlin
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D35597
llvm-svn: 309146
Diffstat (limited to 'llvm/lib/IR/Dominators.cpp')
-rw-r--r-- | llvm/lib/IR/Dominators.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/IR/Dominators.cpp b/llvm/lib/IR/Dominators.cpp index 4d7e3040ecd..993ef1d7c22 100644 --- a/llvm/lib/IR/Dominators.cpp +++ b/llvm/lib/IR/Dominators.cpp @@ -64,12 +64,10 @@ template class llvm::DomTreeNodeBase<BasicBlock>; template class llvm::DominatorTreeBase<BasicBlock, false>; // DomTreeBase template class llvm::DominatorTreeBase<BasicBlock, true>; // PostDomTreeBase -template void -llvm::DomTreeBuilder::Calculate<DomTreeBuilder::BBDomTree, Function>( - DomTreeBuilder::BBDomTree &DT, Function &F); -template void -llvm::DomTreeBuilder::Calculate<DomTreeBuilder::BBPostDomTree, Function>( - DomTreeBuilder::BBPostDomTree &DT, Function &F); +template void llvm::DomTreeBuilder::Calculate<DomTreeBuilder::BBDomTree>( + DomTreeBuilder::BBDomTree &DT); +template void llvm::DomTreeBuilder::Calculate<DomTreeBuilder::BBPostDomTree>( + DomTreeBuilder::BBPostDomTree &DT); template void llvm::DomTreeBuilder::InsertEdge<DomTreeBuilder::BBDomTree>( DomTreeBuilder::BBDomTree &DT, BasicBlock *From, BasicBlock *To); |