From: Richard Kenner Date: Fri, 21 Apr 2000 19:32:10 +0000 (+0000) Subject: rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. X-Git-Tag: prereleases/libstdc++-2.92~6989 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=b3b42a4db6bd74ef385b4efbcf92ba621f35999f;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce2ea3a6e00d..de5297968aab 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 b502ab41f58a..5aee650fce20 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 9fafd22204e9..2dca6aa94138 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 4e6da394f45c..3feecdd4631c 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 38dca61528d2..cfcee1b09a86 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 8b7bebeb6f66..140ac36bdb74 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 27f72fa1788a..d8e2d62e62a8 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 80929e5032e7..84a2df0e20aa 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 58d24e9af3b8..30c5518e4df5 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 5a1221e0cdaa..2997238c798e 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. */