diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0e8ae61d50eca3f25b1e8b5d3ebe76d26d408e3..85690c532048b2a3fd8bde4247c63bf4abc31ee0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * Take REG_INC notes into account. + 2000-06-19 Zack Weinberg <zack@wolery.cumb.org> * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c. diff --git a/gcc/flow.c b/gcc/flow.c index 99cfbfcff1222e2a6039af9838dcea2eb624d2b4..dab034ecc491162cefd3916136a5566ad2382c5a 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -4152,8 +4152,18 @@ mark_set_regs (pbi, x, insn) rtx x, insn; { rtx cond = NULL_RTX; + rtx link; enum rtx_code code; + if (insn) + for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) + { + if (REG_NOTE_KIND (link) == REG_INC) + mark_set_1 (pbi, SET, XEXP (link, 0), + (GET_CODE (x) == COND_EXEC + ? COND_EXEC_TEST (x) : NULL_RTX), + insn, pbi->flags); + } retry: switch (code = GET_CODE (x)) {