On Fri, Jan 10, 2014 at 4:45 PM, Tom de Vries <tom_devr...@mentor.com> wrote: > 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?
No, it's purely cosmetic after all. Richard. > Thanks, > - Tom > >> Thanks, >> Richard. >> >