aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/final.c7
-rw-r--r--gcc/output.h4
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. */