This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Bug in find_reloads_address
- From: "D. Towner" <towner at compsci dot bristol dot ac dot uk>
- To: gcc <gcc at gcc dot gnu dot org>
- Date: Fri, 15 Feb 2002 14:36:21 +0000 (GMT)
- Subject: Bug in find_reloads_address
Hi all,
Suppose I have the following code:
set (reg A) (symbol_ref)
set (reg B) (mem (plus (reg A) (const_int)))
The function find_reloads_address converts this to:
set (reg B) (mem (plus (symbol_ref) (const_int)))
That is, the symbol ref is propagated into the second instruction. Now the
second instruction is invalid for my machine, so legitimate_address
correctly rejects it - a fact which is tested by strict_memory_address_p
in find_reloads_address. However, rather than reverting back to the
previous correct instruction sequence, or replacing the now-incorrect
instruction with a correct instruction, find_reloads_address continues to
use the incorrect instruction. Is this a bug, or something I am doing
wrong?
Thanks,
Daniel.
===============================================================================
Daniel Towner |
|
Computer Science Department | Email: D.W.Towner@bristol.ac.uk
University of Bristol | Web: http://www.cs.bris.ac.uk/~towner
Merchant Venturers Building | Phone: 44 (0)117 954 5256
Woodland Road, Bristol, UK |
BS8 1UB |
===============================================================================