[PATCH] D16637: [SimplifyCFG] limit recursion depth when speculating instructions (PR26308)
David Majnemer via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 27 10:50:13 PST 2016
majnemer added a comment.
In http://reviews.llvm.org/D16637#337486, @dberlin wrote:
> If you do it on literally every two entry phi nodes, why is the answer not:
> Number each node of dominator tree with depth in dom tree (IE level).
> Process dominator tree in level order, visiting all nodes of a given level
> before the next deeper level:
> Try to speculate a given phi node.
> Stop anytime you hit a phi node with a level above you above you (because
> you will have already speculated it if you could).
> Track visited phi nodes to avoid cycles.
> Or something similar.
> Over time, we seem to expand a lot of lazy-walking optimizations to do
> these "walk possibly everything backwards" types of algorithms, and at the
> point we want to walk *everything of a certain type* there is no point in
> doing it lazily.
You will find no disagreement on this point from me :)
On the other hand, there is no reason not to apply this patch. The code as-written obviously intended to do something with this recursion depth counter, it's disuse was an oversight.
More information about the llvm-commits