This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32897] Invalid rematerialisation of subregs
- From: "rsandifo at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Aug 2007 10:16:29 -0000
- Subject: [Bug middle-end/32897] Invalid rematerialisation of subregs
- References: <bug-32897-13767@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from rsandifo at gcc dot gnu dot org 2007-08-16 10:16 -------
Subject: Bug 32897
Author: rsandifo
Date: Thu Aug 16 10:16:15 2007
New Revision: 127536
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127536
Log:
gcc/
PR middle-end/32897
* reload.c (find_reloads): Check that the memory returned by
find_reloads_toplev was not the result of forcing a constant
to memory.
(find_reloads_toplev): Always use simplify_gen_subreg to get
the subreg of a constant. If the result is also a constant,
but not a legitimate one, force it into the constant pool
and reload its address.
gcc/testsuite/
* gcc.dg/torture/pr32897.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/torture/pr32897.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32897