This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Checked in : Out Of SSA Rewrite - New TER implementation
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Andrew MacLeod <amacleod at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 8 Dec 2006 16:21:04 +0100
- Subject: Re: Checked in : Out Of SSA Rewrite - New TER implementation
- References: <1164135886.9275.159.camel@localhost.localdomain> <1165587325.3607.71.camel@localhost.localdomain>
> On Tue, 2006-11-21 at 14:04 -0500, Andrew MacLeod wrote:
> > This patch re-implements TER. The fundamental idea remains the same...
> > step through the function determining tracking which single use
> > expressions are currently available for substitution, and marking them
> > as replaceable if the use is seen while they are still valid.
> >
> > The list of "current" values was maintained in a linked list, and the
> > patch in http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00896.html
> > replaced that with a bitmap, which turns out ot be much faster in the
> > more horrible cases.
> >
> > On top of that a lot of functions have been renamed to make them
> > clearer, a long description of what TER does and how is at the top of
> > the file. The mechanism for tracking current expressions is different
> > now as well. This allows TER to get a few cases it couldn't get before,
> > addressing a couple of open PRs. Although it shares similar
> > functionality, this really is a rewrite of TER.
> >
> > It has also been moved to its own self contained file, tree-ssa-ter.c.
> > I'd suggest just reading the file rather than the patch :-)
>
> The latent expand_builtin_memcpy bug has now been fixed, and this patch
> was just checked in. It bootstraps on i686-pc-linux-gnu and causes no
> new regressions.
>
> I've attached the patch which applies cleanly after all the other
> changes that have gone in since I originally posted this.
Nice, does it imply that I can drop -fno-tre-ter from memory tester on
bug2.c now?
Honza