From b3b42a4db6bd74ef385b4efbcf92ba621f35999f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 21 Apr 2000 19:32:10 +0000 Subject: [PATCH] rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. * rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. * rtl.h: Likewise. * rtl.def: Update comment. * function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER. * integrate.c (expand_inline_function): Likewise. * profile.c (branch_prob): Likewise. * ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG. * print-rtl.c (print_rtx): Likewise. * haifa-sched.c (sched_analyze, unlink_other_notes): Likewise. (reemit_notes): Likewise; also use enum insn_note. From-SVN: r33314 --- gcc/ChangeLog | 11 +++++++++++ gcc/function.c | 2 +- gcc/ggc-common.c | 2 +- gcc/haifa-sched.c | 9 +++++---- gcc/integrate.c | 2 +- gcc/print-rtl.c | 2 +- gcc/profile.c | 2 +- gcc/rtl.c | 2 +- gcc/rtl.def | 2 +- gcc/rtl.h | 4 ++-- 10 files changed, 25 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce2ea3a6e00..de5297968aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ Fri Apr 21 13:30:26 2000 Richard Kenner + * rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. + * rtl.h: Likewise. + * rtl.def: Update comment. + * function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER. + * integrate.c (expand_inline_function): Likewise. + * profile.c (branch_prob): Likewise. + * ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG. + * print-rtl.c (print_rtx): Likewise. + * haifa-sched.c (sched_analyze, unlink_other_notes): Likewise. + (reemit_notes): Likewise; also use enum insn_note. + * stor-layout.c (layout_decl): Only set DECL_MODE if not already set. (place_field): Properly compute know and actual alignment. diff --git a/gcc/function.c b/gcc/function.c index b502ab41f58..5aee650fce2 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -6533,7 +6533,7 @@ expand_function_end (filename, line, end_bindings) already exists a copy of this note somewhere above. This line number note is still needed for debugging though, so we can't delete it. */ if (flag_test_coverage) - emit_note (NULL_PTR, NOTE_REPEATED_LINE_NUMBER); + emit_note (NULL_PTR, NOTE_INSN_REPEATED_LINE_NUMBER); /* Output a linenumber for the end of the function. SDB depends on this. */ diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index 9fafd22204e..2dca6aa9413 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -244,7 +244,7 @@ ggc_mark_rtx_children (r) case NOTE: switch (NOTE_LINE_NUMBER (r)) { - case NOTE_INSN_RANGE_START: + case NOTE_INSN_RANGE_BEG: case NOTE_INSN_RANGE_END: case NOTE_INSN_LIVE: ggc_mark_rtx (NOTE_RANGE_INFO (r)); diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 4e6da394f45..3feecdd4631 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -3939,7 +3939,7 @@ sched_analyze (deps, head, tail) ??? Actually, the reemit_notes just say what is done, not why. */ else if (GET_CODE (insn) == NOTE - && (NOTE_LINE_NUMBER (insn) == NOTE_INSN_RANGE_START + && (NOTE_LINE_NUMBER (insn) == NOTE_INSN_RANGE_BEG || NOTE_LINE_NUMBER (insn) == NOTE_INSN_RANGE_END)) { loop_notes = alloc_EXPR_LIST (REG_SAVE_NOTE, NOTE_RANGE_INFO (insn), @@ -4277,7 +4277,7 @@ unlink_other_notes (insn, tail) if (NOTE_LINE_NUMBER (insn) != NOTE_INSN_SETJMP && NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_BEG && NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_END - && NOTE_LINE_NUMBER (insn) != NOTE_INSN_RANGE_START + && NOTE_LINE_NUMBER (insn) != NOTE_INSN_RANGE_BEG && NOTE_LINE_NUMBER (insn) != NOTE_INSN_RANGE_END && NOTE_LINE_NUMBER (insn) != NOTE_INSN_EH_REGION_BEG && NOTE_LINE_NUMBER (insn) != NOTE_INSN_EH_REGION_END) @@ -5632,7 +5632,8 @@ reemit_notes (insn, last) { if (REG_NOTE_KIND (note) == REG_SAVE_NOTE) { - int note_type = INTVAL (XEXP (note, 0)); + enum insn_note note_type = INTVAL (XEXP (note, 0)); + if (note_type == NOTE_INSN_SETJMP) { retval = emit_note_after (NOTE_INSN_SETJMP, insn); @@ -5640,7 +5641,7 @@ reemit_notes (insn, last) remove_note (insn, note); note = XEXP (note, 1); } - else if (note_type == NOTE_INSN_RANGE_START + else if (note_type == NOTE_INSN_RANGE_BEG || note_type == NOTE_INSN_RANGE_END) { last = emit_note_before (note_type, last); diff --git a/gcc/integrate.c b/gcc/integrate.c index 38dca61528d..cfcee1b09a8 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1156,7 +1156,7 @@ expand_inline_function (fndecl, parms, target, ignore, type, This line number note is still needed for debugging though, so we can't delete it. */ if (flag_test_coverage) - emit_note (0, NOTE_REPEATED_LINE_NUMBER); + emit_note (0, NOTE_INSN_REPEATED_LINE_NUMBER); emit_line_note (input_filename, lineno); diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c index 8b7bebeb6f6..140ac36bdb7 100644 --- a/gcc/print-rtl.c +++ b/gcc/print-rtl.c @@ -184,7 +184,7 @@ print_rtx (in_rtx) sawclose = 1; break; - case NOTE_INSN_RANGE_START: + case NOTE_INSN_RANGE_BEG: case NOTE_INSN_RANGE_END: case NOTE_INSN_LIVE: indent += 2; diff --git a/gcc/profile.c b/gcc/profile.c index 27f72fa1788..d8e2d62e62a 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -819,7 +819,7 @@ branch_prob (f, dump_file) /* Must ignore the line number notes that immediately follow the end of an inline function to avoid counting it twice. There is a note before the call, and one after the call. */ - if (NOTE_LINE_NUMBER (insn) == NOTE_REPEATED_LINE_NUMBER) + if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_REPEATED_LINE_NUMBER) ignore_next_note = 1; else if (NOTE_LINE_NUMBER (insn) > 0) { diff --git a/gcc/rtl.c b/gcc/rtl.c index 80929e5032e..84a2df0e20a 100644 --- a/gcc/rtl.c +++ b/gcc/rtl.c @@ -245,7 +245,7 @@ const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS] = "NOTE_INSN_PROLOGUE_END", "NOTE_INSN_EPILOGUE_BEG", "NOTE_INSN_DELETED_LABEL", "NOTE_INSN_FUNCTION_BEG", "NOTE_INSN_EH_REGION_BEG", "NOTE_INSN_EH_REGION_END", - "NOTE_REPEATED_LINE_NUMBER", "NOTE_INSN_RANGE_START", + "NOTE_INSN_REPEATED_LINE_NUMBER", "NOTE_INSN_RANGE_BEG", "NOTE_INSN_RANGE_END", "NOTE_INSN_LIVE", "NOTE_INSN_BASIC_BLOCK", "NOTE_INSN_EXPECTED_VALUE" }; diff --git a/gcc/rtl.def b/gcc/rtl.def index 58d24e9af3b..30c5518e4df 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -818,7 +818,7 @@ DEF_RTL_EXPR(HIGH, "high", "e", 'o') of a constant expression. */ DEF_RTL_EXPR(LO_SUM, "lo_sum", "ee", 'o') -/* Header for range information. Operand 0 is the NOTE_INSN_RANGE_START insn. +/* Header for range information. Operand 0 is the NOTE_INSN_RANGE_BEG insn. Operand 1 is the NOTE_INSN_RANGE_END insn. Operand 2 is a vector of all of the registers that can be substituted within this range. Operand 3 is the number of calls in the range. Operand 4 is the number of insns in the diff --git a/gcc/rtl.h b/gcc/rtl.h index 5a1221e0cda..2997238c798 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -636,11 +636,11 @@ enum insn_note /* Generated whenever a duplicate line number note is output. For example, one is output after the end of an inline function, in order to prevent the line containing the inline call from being counted twice in gcov. */ - NOTE_REPEATED_LINE_NUMBER, + NOTE_INSN_REPEATED_LINE_NUMBER, /* Start/end of a live range region, where pseudos allocated on the stack can be allocated to temporary registers. Uses NOTE_RANGE_INFO. */ - NOTE_INSN_RANGE_START, + NOTE_INSN_RANGE_BEG, NOTE_INSN_RANGE_END, /* Record which registers are currently live. Uses NOTE_LIVE_INFO. */