diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-06 17:54:08 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-06 17:54:08 -0400 |
commit | e21fa13af1243b008ddb546ea914cc63826f8ca0 (patch) | |
tree | ce3f2b16d89fd43e7ebe215fa5cd3176161b05f6 /gcc/stupid.c | |
parent | d7e09326f25d83fde3215698ff2520e29c0828dd (diff) | |
download | gcc-e21fa13af1243b008ddb546ea914cc63826f8ca0.zip gcc-e21fa13af1243b008ddb546ea914cc63826f8ca0.tar.gz gcc-e21fa13af1243b008ddb546ea914cc63826f8ca0.tar.bz2 |
(stupid_life_analysis): Check the usage information on CALL_INSNs.
From-SVN: r7249
Diffstat (limited to 'gcc/stupid.c')
-rw-r--r-- | gcc/stupid.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/stupid.c b/gcc/stupid.c index b4b15fb..ca9d44c 100644 --- a/gcc/stupid.c +++ b/gcc/stupid.c @@ -214,6 +214,8 @@ stupid_life_analysis (f, nregs, file) for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) if (call_used_regs[i]) regs_live[i] = 0; + + stupid_mark_refs (CALL_INSN_FUNCTION_USAGE (insn), insn); } /* Update which hard regs are currently live @@ -385,10 +387,15 @@ static void stupid_mark_refs (x, insn) rtx x, insn; { - register RTX_CODE code = GET_CODE (x); + register RTX_CODE code; register char *fmt; register int regno, i; + if (x == 0) + return; + + code = GET_CODE (x); + if (code == SET || code == CLOBBER) { if (SET_DEST (x) != 0 && GET_CODE (SET_DEST (x)) == REG) |