[PATCH] Make avoid_constant_pool_reference smarter
Paolo Bonzini
paolo.bonzini@lu.unisi.ch
Wed May 25 07:45:00 GMT 2005
This patch moves one case from CSE's fold_rtx_mem to
avoid_constant_pool_reference. CSE can extract the low part of a
constant that resides in the pool, or a single word of a multiword
constant. In a slightly cleaner way, a_c_p_r uses simplify_subreg to
convert constants between different modes. This patch equips a_c_p_r to
support offsetted addresses (e.g. to extract words from multiword
constants).
In CSE's fold_rtx_mem, the part dealing with LABEL_REF (basically
performing a kind of jump threading) is practically dead and was toggles
even less frequently since Alexandre Oliva fixed PR18628 (the dead-label
bug). So, fold_rtx_mem could reduce to
find_best_addr+avoid_constant_pool_reference. And similarly,
equiv_constant's MEM case could be reduced to
avoid_constant_pool_reference+lookup.
These however are follow-ups that cannot happen in the 4.1 frame (and
I'm thinking more and more about a branch...).
Bootstrapped/regtested all languages on powerpc-apple-darwin7, ok for
mainline?
Paolo
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: avoid-cpool-smarter.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050525/4eebcbd7/attachment.ksh>
More information about the Gcc-patches
mailing list