[PATCH] D30890: Post-dom fix - connect virtual edges to last reverse-reachable BB

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 13 16:09:59 PDT 2017


dberlin added a comment.

You and i fundamentally disagree over whether one is correct or not :)
I don't think that will change.

You believe that everything that does not exit should not affect the precision of things that do. That would be great if possible.
I believe that is impossible to do without breaking the invariants of the dominator tree, when extended to the unreachable nodes to them .
You do not seem to disagree with that, but your response is to break those invariants anyway to produce a "better" result for the reachable nodes.  
I'm unwilling to do that, because it defeats, to me, the whole purpose of having them in the post-dom tree.
As I said there, i am more than happy to produce you a postdomwithoutunreachablenodes that produces that result (note that isn't what you are getting *now*, you are getting something in the middle where it sometimes is like that and sometimes not).
I do not believe there are a lot of things you can use that for safely, but if it's what you want, and you are sure, i'm happy to give it to you.

I just think it is not what we should be doing by default. I believe the thing we should do by default is the thing that makes optimizations work correctly without special casing,  which is why it is the path, as your investigation shows, every compiler to confront the issue has chosen in the end.


https://reviews.llvm.org/D30890





More information about the llvm-commits mailing list