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/except.c | |
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/except.c')
-rw-r--r-- | gcc/except.c | 5 |
1 files changed, 5 insertions, 0 deletions
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++; } |