[RFC] Move ehcleanup pass to before early SRA

Richard Biener richard.guenther@gmail.com
Thu Jan 16 11:30:00 GMT 2014


On Wed, Jan 15, 2014 at 6:37 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> I know, I'm saying it may be possible to implement an equivalent
>> optimization without SSA form.
>
> Sure, but what would be the point of this duplication exactly?

To avoid ...

>> I'm saying even ESRA should be able to scalarize it just fine.  It just
>> needs to be careful where to insert the loads from the aggregate result
>> (on the single outgoing non-EH edge).
>>
>> Wouldn't that fix your issue?
>
> Very likely, yes, but there might be other passes with the same problem before
> the first EH cleanup pass (e.g. FRE, DCE, etc).

... these and avoid adding another EH cleanup pass.

>> Early inlining.
>
> Are you sure?  I don't see how 032t.ehcleanup1 can have any effects on
> p.adb.018t.einline (unless something mysterious happens here).
>
>> > p.adb.003t.original
>> > p.adb.004t.gimple
>> > p.adb.005t.nested
>> > p.adb.006t.omplower
>> > p.adb.007t.lower
>> > p.adb.009t.ehopt
>> > p.adb.010t.eh
>> > p.adb.011t.cfg
>> > p.adb.015t.ssa
>> > p.adb.017t.inline_param1
>> > p.adb.018t.einline
>> > p.adb.019t.early_optimizations
>> > p.adb.020t.copyrename1
>> > p.adb.021t.ccp1
>> > p.adb.022t.forwprop1
>> > p.adb.023t.ealias
>> > p.adb.024t.esra
>> > p.adb.025t.fre1
>> > p.adb.026t.copyprop1
>> > p.adb.027t.mergephi1
>> > p.adb.028t.cddce1
>> > p.adb.029t.eipa_sra
>> > p.adb.030t.tailr1
>> > p.adb.031t.switchconv
>> > p.adb.032t.ehcleanup1
>> > p.adb.033t.profile_estimate
>> > p.adb.034t.local-pure-const1
>> > p.adb.035t.fnsplit
>> > p.adb.036t.release_ssa
>> > p.adb.037t.inline_param2
>> > p.adb.054t.copyrename2
>
> --
> Eric Botcazou



More information about the Gcc-patches mailing list