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] |
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] |