This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Checked in : Out Of SSA Rewrite - New TER implementation


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.

Andrew



Attachment: F
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]