[PATCH] D62507: [Dominators] PR42041: Skip nullpointer successors

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365026: [Dominators] PR42041: Skip nullpointer successors (authored by Szelethus, committed by ). Changed prior to commit: https://reviews.llvm.org/D62507?vs=201994&id=207753#toc Repository: rL LLVM

[PATCH] D62507: [Dominators] PR42041: Skip nullpointer successors

2019-05-29 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 201994. Szelethus added a comment. Drastically improve the readability of the test files. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62507/new/ https://reviews.llvm.org/D62507 Files: clang/include/clang/Analysis/Analyses/Dominators.h clang

[PATCH] D62507: [Dominators] PR42041: Skip nullpointer successors

2019-05-28 Thread Jakub Kuderski via Phabricator via cfe-commits
kuhar accepted this revision. kuhar added a comment. This revision is now accepted and ready to land. Thanks, I think this is a much better solution than directly hacking on DomTreeBuilder. Note that every time you ask DomTree about a `nullptr` CFG node, it understands it as a request for a vir

[PATCH] D62507: [Dominators] PR42041: Skip nullpointer successors

2019-05-28 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 201679. Szelethus added a comment. Correctly use `reverse(children(N))` and `inverse_children(N)`, based on the original code: template struct ChildrenGetter { using ResultTy = SmallVector; static ResultTy Get(NodePtr N, std::integral_const

[PATCH] D62507: [Dominators] PR42041: Skip nullpointer successors

2019-05-28 Thread Jakub Kuderski via Phabricator via cfe-commits
kuhar added inline comments. Comment at: clang/include/clang/Analysis/Analyses/Dominators.h:190 +clang::CFGBlock *N, std::integral_constant) { + auto RChildren = reverse(children(N)); + ResultTy Ret(RChildren.begin(), RChildren.end()); Shouldn't one of the