On 09-01-14 13:33, Richard Biener wrote:
On Thu, 9 Jan 2014, Tom de Vries wrote:

On 09-01-14 10:16, Richard Biener wrote:

This fixes PR59715 by splitting critical edges again before
code sinking.  The critical edge splitting done before PRE
was designed to survive until sinking originally, but at least
since 4.5 PRE now eventually cleans up the CFG and thus undos
critical edge splitting.  This results in less than optimal
code placement (and lost opportunities) for sinking and it
breaks (at least) the virtual operand updating code which
assumes that critical edges are still split.


Richard,

this follow-up patch:
- notes in pass_pre that PROP_no_crit_edge is destroyed
- notes in pass_sink_code that PROP_no_crit_edge is not required
   (because it's now ensured by the pass itself)

Build and reg-tested pr59715.c on x86_64.

OK for stage3 trunk if bootstrap and full reg-test on x86_64 is ok?

Ok with /* PROP_no_crit_edges | */ not commented but removed.


Richard,

Committed to trunk with that change.

I saw you propagated the fix for PR59715 to 4.8 and 4.7 as well.

Should I propagate this follow-up patch as well?

Thanks,
- Tom

Thanks,
Richard.


Reply via email to