Fix pr23135.c on the Blackfin
Bernd Schmidt
bernds_cb1@t-online.de
Wed Apr 11 19:49:00 GMT 2007
This patch fixes
FAIL: gcc.c-torture/execute/pr23135.c compilation, -O2 (internal
compiler error)
on the Blackfin.
We abort in delete_output_reload, in the loop that compares substed
against the contents of reg_equiv_alt_mem_list. Code in reload.c is
careful not to insert the normal MEM rtx for an equivalence into this
list, but only forms that differ. However, it uses a pointer equality
test, and parts of find_reloads_address can copy a MEM without modifying
it further, which causes it to be put into the list erroneously.
Fixed by just using rtx_equal_p in all instances. Bootstrapped &
regression tested on i686-linux; I've also verified that generated code
is identical on a large set of input files. Committed as 123724.
Bernd
--
This footer brought to you by insane German lawmakers.
Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen
Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, Vincent Roche, Joseph E. McDonough
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: reload-rtx-equal.diff
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070411/bb9d7773/attachment.ksh>
More information about the Gcc-patches
mailing list