This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/17482] [4.0 Regression] GCSE after reload replacing changing instructions
- From: "stevenb at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Sep 2004 19:20:34 -0000
- Subject: [Bug rtl-optimization/17482] [4.0 Regression] GCSE after reload replacing changing instructions
- References: <20040914180310.17482.dje@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From stevenb at suse dot de 2004-09-15 19:20 -------
Subject: Re: [4.0 Regression] GCSE after reload replacing changing instructions
On Wednesday 15 September 2004 21:00, graham dot stott at btinternet dot com
wrote:
> ------- Additional Comments From graham dot stott at btinternet dot com
> 2004-09-15 19:00 ------- Subject: Re: [4.0 Regression] GCSE after reload
> replacing changing instructions
>
> Steven,
>
> One thing that stands out from looking at the code is the routines
>
> record_last_set_info and mark_set don't appear to be taking any note
> of any REG_INC notes that may be present within the MEM's
>
> Should the existing code:
>
> if (REG_P (dest))
> record_last_reg_set_info (insn, REGNO (dest));
> else if (MEM_P (dest))
> record_last_mem_set_info (insn);
>
> contain this following check for registers mentioned in REG_INC notes?
>
> note = find_reg_note (insn, REG_INC, NULL_RTX);
> if (note)
> record_last_reg_set_info (insn, REGNO (XEXP (note, 0)));
That is what I thought too, see my patch in comment #6.
But apparently that does not fix the bug...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17482