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