reload inheritance error breaks openssl on s390
Alexandre Oliva
aoliva@redhat.com
Wed Aug 16 10:32:00 GMT 2006
On Aug 9, 2006, Ian Lance Taylor <iant@google.com> wrote:
>> PR target/28146
>> * reload.h (reg_equiv_lra_tweak): New declaration.
>> * reload1.c (reg_equiv_lra_tweak): New definition.
>> (reload): Initialize it.
>> (delete_output_reload): Use it.
>> * reload.c (find_reloads_address): Set it if
>> LEGITIMIZE_RELOAD_ADDRESS changes the address.
> This patch is the right sort of thing, but I don't understand how it
> actually works. You only store a value in reg_equiv_lra_tweak if
> REGNO >= 0, but I don't see any execution path which leads to REGNO >=
> 0 when LEGITIMIZE_RELOAD_ADDRESS is called. What am I missing?
You're missing the brain-deadness that I experienced at the time I
wrote it :-(
I'd actually got away from the problem for too long, and when I got
back I found this simple, easy and wrong approach to address the
problem, that I was missing before :-), and random fluctuations in the
patterns that made to the reload pass managed to hide the problem such
that I no longer observed it. Doh!
This one does a better job, and I've actually tested it on the same
baseline tree where I'd first experienced the problem. Does this look
better for you too? :-)
I'm currently bootstrapping it on amd64-linux-gnu. If that works,
I'll give it a round of testing on a wider range of machines and then
formally submit it for inclusion.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-s390-complex-reload-rh199640-3.patch
Type: text/x-patch
Size: 7151 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060816/9135a658/attachment.bin>
-------------- next part --------------
--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
Secretary for FSF Latin America http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
More information about the Gcc-patches
mailing list