This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix combine EH related failure
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 12 Feb 2004 12:21:23 +1030
- Subject: Re: Fix combine EH related failure
- References: <20040212010932.GD2631@bubble.modra.org>
On Thu, Feb 12, 2004 at 11:39:32AM +1030, Alan Modra wrote:
> + /* It's pointless doing this if combining then splitting the
> + parallel results in the original instructions. The net
> + effect is only to move instructions around, which makes
> + debug info less accurate. */
> + && ! rtx_equal_p (set0, PATTERN (i2)))
Blah, typo alert. I lost track of which set was which. Ought to be
+ && ! rtx_equal_p (set0, PATTERN (i3)))
> @@ -2049,7 +2058,10 @@ try_combine (rtx i3, rtx i2, rtx i1, int
> || (GET_CODE (SET_DEST (set0)) == SUBREG
> && find_reg_note (i3, REG_UNUSED,
> SUBREG_REG (SET_DEST (set0)))))
> - && ! side_effects_p (SET_SRC (set0)))
> + && (!(note = find_reg_note (i3, REG_EH_REGION, NULL_RTX))
> + || INTVAL (XEXP (note, 0)) <= 0)
> + && ! side_effects_p (SET_SRC (set0))
> + && ! rtx_equal_p (set1, PATTERN (i3)))
And this one
+ && ! rtx_equal_p (set1, PATTERN (i2)))
> {
> newpat = set1;
> insn_code_number = recog_for_combine (&newpat, i3, &new_i3_notes);
--
Alan Modra
IBM OzLabs - Linux Technology Centre