This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/15248] [4.0 Regression] Reload may generate stores to read-only memory
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 May 2005 17:03:54 -0000
- Subject: [Bug rtl-optimization/15248] [4.0 Regression] Reload may generate stores to read-only memory
- References: <20040502130145.15248.ebotcazou@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From law at redhat dot com 2005-05-17 17:03 -------
Subject: Re: [4.0 Regression] Reload may
generate stores to read-only memory
On Sat, 2005-05-07 at 16:52 +0000, ebotcazou at gcc dot gnu dot org
wrote:
> ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-05-07 16:52 -------
> > I don't know that I'm in a position to make a good decision here, but I
> > do agree with Jeff -- it would be a lot more compelling to make the
> > change if there was actually a demonstrable problem -- especially coming
> > from non-synthetic code.
>
> I presume you'd like to have a testcase that fails with 4.0.x? Because I can
> hardly think of a more demonstrable problem than this one: Jeff's analysis for
> 4.1.x was exactly the same as mine for 3.3.x and nothing has changed in the code.
It's still a relatively difficult bug to tickle. It only appeared in
the mainline as a side effect of improvements to the jump threading code
Block duplication followed by redundancy elimination resulted in having
a pseudo-pseudo copy where the source pseudo was equivalent to a
readonly mem and the RTL optimizers did not eliminate the pseudo-pseudo
copy.
Bernd has done some additional work on this problem and we may be
converging on a better solution than simply ignoring these problematical
equivalences.
Jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15248