On 09/11/2015 02:36 PM, Segher Boessenkool wrote:
I'm wondering how your new algorithm prevents the prologue from being
placed inside a loop. Can you have a situation where this picks a
predecessor that is reachable but not dominated by PRO?
It doesn't prevent it!
The prologue will not be _inside_ the loop: there is one prologue, and it
is executed exactly once for any block needing it. But the code can copy
part of the first iteration of a loop, if there are early exits. Example
(from the testsuite, pr39943.c, -Os I think):
I was wondering if that was the intention. This also ought to be spelled
out in the comments.
Bernd