This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/15265] delete_output_reload deletes necessary insn
- From: "joern dot rennecke at superh dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 May 2004 14:17:28 -0000
- Subject: [Bug optimization/15265] delete_output_reload deletes necessary insn
- References: <20040503152115.15265.matz@suse.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From joern dot rennecke at superh dot com 2004-05-06 14:17 -------
Subject: Re: delete_output_reload deletes necessary insn
> Even with SUBREGs or such I have these difficulties. For instance if there is
> a "(set (subreg (reg X) 0) plus (subreg (reg X) 0) (subreg (reg X) 0))"
> and reg X must be reloaded, but only (!) in the first operand of the plus,
> which must match the destination.
For some SUBREGs, a USE and/or CLOBBER is placed into the instruction
stream to describe the operand as it looked prior to reloading.
I'm not saying that we must always do double counting; what I'm saying is
that when we eliminate I in some cases, we should check that there isn't
double counting of the operands to match it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15265