Summary:
This came up in a debugging session. I was failing to update the root of
the tree, and got during verification:
```
DominatorTree is different than a freshly computed one!
Current:
=============================--------------------------------
Inorder Dominator Tree: DFSNumbers invalid: 0 slow queries.
[1] %"entry+land.rhs.i" {
4294967295,
4294967295} [0]
[2] %opeq1.exit {
4294967295,
4294967295} [1]
Freshly computed tree:
=============================--------------------------------
Inorder Dominator Tree: DFSNumbers invalid: 0 slow queries.
[1] %"entry+land.rhs.i" {
4294967295,
4294967295} [0]
[2] %opeq1.exit {
4294967295,
4294967295} [1]
```
We now print:
```
DominatorTree is different than a freshly computed one!
Current:
=============================--------------------------------
Inorder Dominator Tree: DFSNumbers invalid: 0 slow queries.
[1] %"entry+land.rhs.i" {
4294967295,
4294967295} [0]
[2] %opeq1.exit {
4294967295,
4294967295} [1]
Roots: <badref>
Freshly computed tree:
=============================--------------------------------
Inorder Dominator Tree: DFSNumbers invalid: 0 slow queries.
[1] %"entry+land.rhs.i" {
4294967295,
4294967295} [0]
[2] %opeq1.exit {
4294967295,
4294967295} [1]
Roots: %"entry+land.rhs.i"
```
Reviewers: kuhar, asbirlea
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61999
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360886
91177308-0d34-0410-b5e6-
96231b3b80d8
// The postdom tree can have a null root if there are no returns.
if (getRootNode()) PrintDomTree<NodeT>(getRootNode(), O, 1);
- if (IsPostDominator) {
- O << "Roots: ";
- for (const NodePtr Block : Roots) {
- Block->printAsOperand(O, false);
- O << " ";
- }
- O << "\n";
+ O << "Roots: ";
+ for (const NodePtr Block : Roots) {
+ Block->printAsOperand(O, false);
+ O << " ";
}
+ O << "\n";
}
public: