From ff6051b76e5f031a6bfc0c1f25a51034df1e4902 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating Date: Fri, 9 Nov 2001 23:06:04 +0000 Subject: flow.c (insn_dead_p): Allow for AUTO_INC notes all the time. * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time. In testsuite/: * gcc.c-torture/execute/20011109-2.c: New test. From-SVN: r46901 --- gcc/flow.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'gcc/flow.c') diff --git a/gcc/flow.c b/gcc/flow.c index 50e7494..fbe570b 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -1892,21 +1892,18 @@ insn_dead_p (pbi, x, call_ok, notes) enum rtx_code code = GET_CODE (x); #ifdef AUTO_INC_DEC - /* If flow is invoked after reload, we must take existing AUTO_INC - expresions into account. */ - if (reload_completed) + /* As flow is invoked after combine, we must take existing AUTO_INC + expressions into account. */ + for (; notes; notes = XEXP (notes, 1)) { - for (; notes; notes = XEXP (notes, 1)) + if (REG_NOTE_KIND (notes) == REG_INC) { - if (REG_NOTE_KIND (notes) == REG_INC) - { - int regno = REGNO (XEXP (notes, 0)); - - /* Don't delete insns to set global regs. */ - if ((regno < FIRST_PSEUDO_REGISTER && global_regs[regno]) - || REGNO_REG_SET_P (pbi->reg_live, regno)) - return 0; - } + int regno = REGNO (XEXP (notes, 0)); + + /* Don't delete insns to set global regs. */ + if ((regno < FIRST_PSEUDO_REGISTER && global_regs[regno]) + || REGNO_REG_SET_P (pbi->reg_live, regno)) + return 0; } } #endif -- cgit v1.1