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.