[RFC] Move ehcleanup pass to before early SRA

Eric Botcazou ebotcazou@adacore.com
Sun Sep 23 11:00:00 GMT 2012


Hi,

we have run into optimization regressions in Ada caused by the interaction 
between the new GIMPLE clobbers and SRA: on the one hand GIMPLE clobbers 
create artificial EH handlers for aggregate variables, on the other hand SRA 
refuses to scalarize objects that appear in a statement that can throw 
internally.  The result is that GIMPLE clobbers block the scalarization of 
variables that used to be possible up to the 4.6 series.

Therefore the attached patch moves the ehcleanup pass to before early SRA in 
the pipeline.  It has a small but measurable positive effect on some of our 
benchmarks (with a 4.7-based compiler).  Tested on x86-64/Linux.


2012-09-23  Eric Botcazou  <ebotcazou@adacore.com>

	* passes.c (init_optimization_passes): Run first EH cleanup pass early.


-- 
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p.diff
Type: text/x-patch
Size: 1018 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20120923/2999b095/attachment.bin>


More information about the Gcc-patches mailing list