diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/final.c | 7 | ||||
-rw-r--r-- | gcc/output.h | 4 |
3 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71a09ee..76bf641 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2000-05-29 Richard Henderson <rth@cygnus.com> + * final.c (current_output_insn): New. + (final_scan_insn): Set it. + * output.h: Declare it. + +2000-05-29 Richard Henderson <rth@cygnus.com> + * stor-layout.c (finalize_record_size): Fix typo. * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END diff --git a/gcc/final.c b/gcc/final.c index 9d1ca33..ae0e9cb 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -140,7 +140,8 @@ Boston, MA 02111-1307, USA. */ #endif /* Last insn processed by final_scan_insn. */ -static rtx debug_insn = 0; +static rtx debug_insn; +rtx current_output_insn; /* Line number of last NOTE. */ static int last_linenum; @@ -2925,7 +2926,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) NOTICE_UPDATE_CC (body, insn); #endif - debug_insn = insn; + current_output_insn = debug_insn = insn; #if defined (DWARF2_UNWIND_INFO) /* If we push arguments, we want to know where the calls are. */ @@ -3007,7 +3008,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) INSN_DELETED_P (insn) = 1; #endif - debug_insn = 0; + current_output_insn = debug_insn = 0; } } return NEXT_INSN (insn); diff --git a/gcc/output.h b/gcc/output.h index ad78d23..2446de2 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -444,9 +444,11 @@ extern FILE *rtl_dump_file; #endif /* Nonnull if the insn currently being emitted was a COND_EXEC pattern. */ - extern struct rtx_def *current_insn_predicate; +/* Last insn processed by final_scan_insn. */ +extern struct rtx_def *current_output_insn; + /* Decide whether DECL needs to be in a writable section. RELOC is the same as for SELECT_SECTION. */ |