summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Dominators.cpp
diff options
context:
space:
mode:
authorJakub Kuderski <kubakuderski@gmail.com>2017-07-14 21:58:53 +0000
committerJakub Kuderski <kubakuderski@gmail.com>2017-07-14 21:58:53 +0000
commiteb59ff22e415a530d722771af8a8b1b31f1946a3 (patch)
treee12b5828611c5a5b227486ef99cbe71d821507d4 /llvm/lib/IR/Dominators.cpp
parente6823ced65260138f46826d71185d2c7a8267476 (diff)
downloadbcm5719-llvm-eb59ff22e415a530d722771af8a8b1b31f1946a3.tar.gz
bcm5719-llvm-eb59ff22e415a530d722771af8a8b1b31f1946a3.zip
[Dominators] Implement incremental deletions
Summary: This patch implements incremental edge deletions. It also makes DominatorTreeBase store a pointer to the parent function. The parent function is needed to perform full rebuilts during some deletions, but it is also used to verify that inserted and deleted edges come from the same function. Reviewers: dberlin, davide, grosser, sanjoy, brzycki Reviewed By: dberlin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35342 llvm-svn: 308062
Diffstat (limited to 'llvm/lib/IR/Dominators.cpp')
-rw-r--r--llvm/lib/IR/Dominators.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/IR/Dominators.cpp b/llvm/lib/IR/Dominators.cpp
index d6675cf128a..4d7e3040ecd 100644
--- a/llvm/lib/IR/Dominators.cpp
+++ b/llvm/lib/IR/Dominators.cpp
@@ -76,6 +76,11 @@ template void llvm::DomTreeBuilder::InsertEdge<DomTreeBuilder::BBDomTree>(
template void llvm::DomTreeBuilder::InsertEdge<DomTreeBuilder::BBPostDomTree>(
DomTreeBuilder::BBPostDomTree &DT, BasicBlock *From, BasicBlock *To);
+template void llvm::DomTreeBuilder::DeleteEdge<DomTreeBuilder::BBDomTree>(
+ DomTreeBuilder::BBDomTree &DT, BasicBlock *From, BasicBlock *To);
+template void llvm::DomTreeBuilder::DeleteEdge<DomTreeBuilder::BBPostDomTree>(
+ DomTreeBuilder::BBPostDomTree &DT, BasicBlock *From, BasicBlock *To);
+
template bool llvm::DomTreeBuilder::Verify<DomTreeBuilder::BBDomTree>(
const DomTreeBuilder::BBDomTree &DT);
template bool llvm::DomTreeBuilder::Verify<DomTreeBuilder::BBPostDomTree>(
OpenPOWER on IntegriCloud