On Wed, Mar 23, 2011 at 7:17 AM, Richard Guenther <rguent...@suse.de> wrote:
>
> For quite some releases we'd wanted some (memory) CSE optimization
> during early opts.  Currently we rely heavily on SRA which doesn't
> always fulfill the "make code only smaller" promises which is
> what early opts should do to improve precision of function size
> estimates and to improve abstraction removal by early inlining.
>
> Thus, this patch finally adds an early FRE pass at a suitable place.
>
> The patch was sitting on pretty-ipa branch for some while now
> and there were no noticeable issues with it there.
>
> The patch disables FRE for the matrix-reorg testsuite - the
> matrix reorg implementation is incredibly fragile with respect
> to IL matching.  It also isn't useful anymore as it relies on
> -fwhole-program but isn't prepared to work together with LTO,
> so it at most works on single translation-unit units.  There is
> no sign of anyone maintaining this code, but eventual removal
> similar to struct-reorg should be handled separately from this patch.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu (with the stdarg
> patch applied).
>
> Richard.
>
> 2011-02-23  Richard Guenther  <rguent...@suse.de>
>
>        * passes.c (init_optimization_passes): Add FRE pass after
>        early SRA.
>
>        * gcc.dg/matrix/matrix.exp: Disable FRE.
>

This patch triggered:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48338
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48794


-- 
H.J.

Reply via email to