diff options
author | Jeffrey A Law <law@cygnus.com> | 2001-05-07 15:45:47 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2001-05-07 09:45:47 -0600 |
commit | cb0bb87d89f7f00656c8ffe9907490bf9de34631 (patch) | |
tree | 9c1217dcd9d8d9ef9c7af7e691dbb1211b2977f8 /gcc | |
parent | 5cdba4ff5fcb672b983d5dbffba74d89b899a2ab (diff) | |
download | gcc-cb0bb87d89f7f00656c8ffe9907490bf9de34631.zip gcc-cb0bb87d89f7f00656c8ffe9907490bf9de34631.tar.gz gcc-cb0bb87d89f7f00656c8ffe9907490bf9de34631.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/except.c | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bddbc08..dd27cd5 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 b21769c..ca68f65 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++; } |