From c182df0b41f965988f06df25bcf63a98c0ec5030 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 21 Aug 1995 13:15:57 -0400 Subject: (wipe_dead_reg): Make a register mentioned in a REG_INC note die after the instruction. From-SVN: r10264 --- gcc/local-alloc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 3ab26ae..647b2d5 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -1,5 +1,5 @@ /* Allocate registers within a basic block, for GNU compiler. - Copyright (C) 1987, 1988, 1991, 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 91, 93, 94, 1995 Free Software Foundation, Inc. This file is part of GNU CC. @@ -2035,6 +2035,12 @@ wipe_dead_reg (reg, output_p) } } + /* If this register is used in an auto-increment address, then extend its + life to after this insn, so that it won't get allocated together with + the result of this insn. */ + if (! output_p && find_regno_note (this_insn, REG_INC, regno)) + output_p = 1; + if (regno < FIRST_PSEUDO_REGISTER) { mark_life (regno, GET_MODE (reg), 0); -- cgit v1.1