diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-19 16:30:25 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-19 16:30:25 -0400 |
commit | 0887bd4b9a63058079f577fa0471a78fbc971fd2 (patch) | |
tree | 669768b23c6ae2ebbf0e7344344025f44df34312 | |
parent | 0f8f654e50c7585be68ee996323caf85946f08b6 (diff) | |
download | gcc-0887bd4b9a63058079f577fa0471a78fbc971fd2.zip gcc-0887bd4b9a63058079f577fa0471a78fbc971fd2.tar.gz gcc-0887bd4b9a63058079f577fa0471a78fbc971fd2.tar.bz2 |
(save_call_clobbered_regs): If AUTO_INC_DEC, mark register indicated
by REG_INC notes as live so they will be saved.
From-SVN: r10010
-rw-r--r-- | gcc/caller-save.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c index 81334f0..6dc9018 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -473,7 +473,14 @@ save_call_clobbered_regs (insn_mode) n_regs_saved++; } else - note_stores (PATTERN (insn), set_reg_live); + { + note_stores (PATTERN (insn), set_reg_live); +#ifdef AUTO_INC_DEC + for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) + if (REG_NOTE_KIND (link) == REG_INC) + set_reg_live (XEXP (link, 0), NULL_RTX); +#endif + } for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) if (REG_NOTE_KIND (link) == REG_UNUSED) |