This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: New exception code
- To: Richard Henderson <rth at redhat dot com>
- Subject: Re: New exception code
- From: law at redhat dot com
- Date: Fri, 11 May 2001 15:08:40 -0700
- cc: gcc-patches at gcc dot gnu dot org
- Reply-To: law at redhat dot com
In message <20010507092202.A24937@redhat.com>you write:
> On Mon, May 07, 2001 at 08:45:02AM -0700, Jeffrey A Law wrote:
> > * except.c (sjlj_mark_call_sites): Do not search for assignments to
> > non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
>
> Then you need the same fix in insert_insn_end_bb.
Agreed. Installed into the mainline sources.
* gcse.c (insert_insn_end_bb): Do not search for assignments to
non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
Index: gcse.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcse.c,v
retrieving revision 1.129
diff -c -3 -p -r1.129 gcse.c
*** gcse.c 2001/05/02 14:31:43 1.129
--- gcse.c 2001/05/11 22:04:43
*************** insert_insn_end_bb (expr, bb, pre)
*** 4787,4792 ****
--- 4787,4797 ----
if (REGNO (XEXP (XEXP (p, 0), 0)) >= FIRST_PSEUDO_REGISTER)
abort ();
+ /* We only care about registers which can hold function
+ arguments. */
+ if (! FUNCTION_ARG_REGNO_P (REGNO (XEXP (XEXP (p, 0), 0))))
+ continue;
+
SET_HARD_REG_BIT (parm_regs, REGNO (XEXP (XEXP (p, 0), 0)));
nparm_regs++;
}