diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/final.c | 12 |
2 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31dc8b0..8602d14 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz> + + * final.c (final): Allow notes to not have computed addresses; + kill no longer needed STACK_REGS ifdef. + 2002-06-02 Richard Henderson <rth@redhat.com> * gcse.c (bypass_conditional_jumps): Fix typo last change. diff --git a/gcc/final.c b/gcc/final.c index f58190a..a66bd5c 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1898,16 +1898,12 @@ final (first, file, optimize, prescan) #ifdef HAVE_ATTR_length if ((unsigned) INSN_UID (insn) >= INSN_ADDRESSES_SIZE ()) { -#ifdef STACK_REGS - /* Irritatingly, the reg-stack pass is creating new instructions - and because of REG_DEAD note abuse it has to run after - shorten_branches. Fake address of -1 then. */ - insn_current_address = -1; -#else /* This can be triggered by bugs elsewhere in the compiler if new insns are created after init_insn_lengths is called. */ - abort (); -#endif + if (GET_CODE (insn) == NOTE) + insn_current_address = -1; + else + abort (); } else insn_current_address = INSN_ADDRESSES (INSN_UID (insn)); |