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] |
Hello, Following the "Exploiting dual mode operation, implementation" patch: http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01777.html And the comments I received from Richard Henderson and Steven Bosscher I present here a new implementation approach for the same general idea. The main differences from the previous implementation: 1. This implementation addresses the general problem of sign extensions. This means that it is designed to deal with ZERO_EXTEND as well as SIGN_EXTEND, and with any extension mode and not just extensions from SImode to DImode. 2. In this implementation there are no hacks to the combiner, gcse or other part of the gcc, except for a small generalization of the union find tree of web.c 3. The instruction stream is not changed until the last step of the pass. This way the optimization could be aborted at any time before the last step. At the beginning of the see.c file you can find a description of the problem that this optimization addresses, an outline of the new implementation and an example. This patch contains the implementation of step 1 and part of step 2 as described in the implementation outline section. Comments on the implementation outline and on the code are welcomed. Regression tests and SPEC2000 passed on powerpc64-suse-linux (POWER4). Thanks, Leehod.
Attachment:
see_patch_18_8
Description: Binary data
Attachment:
Changelog
Description: Binary data
Attachment:
see.c
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |