[PATCH] Fix PR59715

Richard Biener rguenther@suse.de
Thu Jan 9 12:34:00 GMT 2014


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.

Thanks,
Richard.



More information about the Gcc-patches mailing list