These fix some odd cfg cases where batch-updating the post dom tree fails. Usually around infinite loops and roots ending up being different.
Details
Details
- Reviewers
kuhar • dberlin davide - Commits
- rG70281b55d1a7: Merging r323034: --------------------------------------------------------------…
rG990eb1fc9458: [Dominators] Fix some edge cases for PostDomTree updating
rL323121: Merging r323034:
rL323034: [Dominators] Fix some edge cases for PostDomTree updating
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Looks good overall, thanks for catching and fixing that.
unittests/IR/DominatorTreeBatchUpdatesTest.cpp | ||
---|---|---|
295 | I think it's easier to read these tests when you order them by left nodes -- then it reads like IR, where for each BB you have some number of successors. 1 3 3 4, 3 4 4 14 6 7, 6 9 ... |
Comment Actions
Thanks. Nice idea.
I've updated the tests. I managed to manually simplify the longest one a bit too.
Comment Actions
Thanks.
I think that this patch should be also merged into the 6.0 branch before the release.
Comment Actions
Thanks.
No objections from me. I don't know of any way that current in-tree passes will trigger these, they mostly come from batch updating post dom trees, which is not something I think happens just yet. They should be safe to go into the branch, if you think thats best.
I think it's easier to read these tests when you order them by left nodes -- then it reads like IR, where for each BB you have some number of successors.
I'd even make sense to have them one line per each block, like: