From: Jeffrey A Law Date: Mon, 7 May 2001 15:45:47 +0000 (+0000) Subject: except.c (sjlj_mark_call_sites): Do not search for assignments to non-argumment regis... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb0bb87d89f7f00656c8ffe9907490bf9de34631;p=gcc.git except.c (sjlj_mark_call_sites): Do not search for assignments to non-argumment registers that are mentioned in... * except.c (sjlj_mark_call_sites): Do not search for assignments to non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE. From-SVN: r41896 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bddbc08ef6a..dd27cd5a150 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com) + * except.c (sjlj_mark_call_sites): Do not search for assignments to + non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE. + * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64. * pa-64.h (*_TYPE_SIZE): Undefine before redefining. diff --git a/gcc/except.c b/gcc/except.c index b21769c28f9..ca68f650689 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2087,6 +2087,11 @@ sjlj_mark_call_sites (lp_info) 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++; }