diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2017-01-25 07:58:10 +0000 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2017-01-25 07:58:10 +0000 |
commit | 43a7759f4b67199d0e8eebfd19d5bf42a8b364b5 (patch) | |
tree | e105c6ce6134862fcd03ffdc09ef1174005049d0 /llvm/lib/IR/Dominators.cpp | |
parent | ac03b4b924eee5f1f9105b3119ccecb16b89f206 (diff) | |
download | bcm5719-llvm-43a7759f4b67199d0e8eebfd19d5bf42a8b364b5.tar.gz bcm5719-llvm-43a7759f4b67199d0e8eebfd19d5bf42a8b364b5.zip |
Do not verify dominator tree if it has no roots
If dominator tree has no roots, the pass that calculates it is
likely to be skipped. It occures, for instance, in the case of
entities with linkage available_externally. Do not run tree
verification in such case.
Differential Revision: https://reviews.llvm.org/D28767
llvm-svn: 293033
Diffstat (limited to 'llvm/lib/IR/Dominators.cpp')
-rw-r--r-- | llvm/lib/IR/Dominators.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/IR/Dominators.cpp b/llvm/lib/IR/Dominators.cpp index 44948cc5831..392670bbd29 100644 --- a/llvm/lib/IR/Dominators.cpp +++ b/llvm/lib/IR/Dominators.cpp @@ -291,6 +291,10 @@ bool DominatorTree::isReachableFromEntry(const Use &U) const { } void DominatorTree::verifyDomTree() const { + if (getRoots().empty()) + // If dominator tree is unavailable, skip verification. + return; + Function &F = *getRoot()->getParent(); DominatorTree OtherDT; |