diff options
author | David Malcolm <dmalcolm@redhat.com> | 2014-08-19 20:08:20 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2014-08-19 20:08:20 +0000 |
commit | 66e8df5354f2d9c705d5d8ae461cc76aaf0d1b0c (patch) | |
tree | c357a9a9e901f39a3832334ff03c10d8bf88f08d /gcc | |
parent | 7a688d527cb2bc88c93946c16951263be80e46e6 (diff) | |
download | gcc-66e8df5354f2d9c705d5d8ae461cc76aaf0d1b0c.zip gcc-66e8df5354f2d9c705d5d8ae461cc76aaf0d1b0c.tar.gz gcc-66e8df5354f2d9c705d5d8ae461cc76aaf0d1b0c.tar.bz2 |
Convert various rtx to rtx_note *
2014-08-19 David Malcolm <dmalcolm@redhat.com>
* basic-block.h (create_basic_block_structure): Strengthen third
param "bb_note" from rtx to rtx_note *.
* rtl.h (emit_note_before): Strengthen return type from rtx to
rtx_note *.
(emit_note_after): Likewise.
(emit_note): Likewise.
(emit_note_copy): Likewise. Also, strengthen param similarly.
* function.h (struct rtl_data): Strengthen field
"x_stack_check_probe_note" from rtx to rtx_note *.
* cfgexpand.c (expand_gimple_basic_block): Strengthen local "note"
from rtx to rtx_note *.
* cfgrtl.c (create_basic_block_structure): Strengthen third param
"bb_note" from rtx to rtx_note *.
(duplicate_insn_chain): Likewise for local "last". Add a checked cast
when calling emit_note_copy.
* emit-rtl.c (make_note_raw): Strengthen return type from rtx to
rtx_note *.
(emit_note_after): Likewise.
(emit_note_before): Likewise.
(emit_note_copy): Likewise. Also, strengthen param similarly.
(emit_note): Likewise.
* except.c (emit_note_eh_region_end): Likewise for return type.
Strengthen local "next" from rtx to rtx_insn *.
(convert_to_eh_region_ranges): Strengthen local "note"
from rtx to rtx_note *.
* final.c (change_scope): Likewise.
(reemit_insn_block_notes): Likewise, for both locals named "note".
Also, strengthen local "insn" from rtx to rtx_insn *.
* haifa-sched.c (sched_extend_bb): Strengthen local "note" from
rtx to rtx_note *.
* reg-stack.c (compensate_edge): Likewise for local "after". Also,
strengthen local "seq" from rtx to rtx_insn *.
* reload1.c (reload_as_needed): Strengthen local "marker" from rtx
to rtx_note *.
* sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to
vec<rtx_note *>.
(get_bb_note_from_pool): Strengthen return type from rtx to
rtx_note *.
(sel_create_basic_block): Strengthen local "new_bb_note" from
insn_t to rtx_note *.
* var-tracking.c (emit_note_insn_var_location): Strengthen local
"note" from rtx to rtx_note *.
(emit_notes_in_bb): Likewise.
From-SVN: r214192
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 47 | ||||
-rw-r--r-- | gcc/basic-block.h | 3 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 4 | ||||
-rw-r--r-- | gcc/cfgrtl.c | 8 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 22 | ||||
-rw-r--r-- | gcc/except.c | 7 | ||||
-rw-r--r-- | gcc/final.c | 7 | ||||
-rw-r--r-- | gcc/function.h | 2 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 2 | ||||
-rw-r--r-- | gcc/reg-stack.c | 3 | ||||
-rw-r--r-- | gcc/reload1.c | 3 | ||||
-rw-r--r-- | gcc/rtl.h | 8 | ||||
-rw-r--r-- | gcc/sel-sched-ir.c | 10 | ||||
-rw-r--r-- | gcc/var-tracking.c | 6 |
14 files changed, 94 insertions, 38 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 413f540..6c71a91 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,52 @@ 2014-08-19 David Malcolm <dmalcolm@redhat.com> + * basic-block.h (create_basic_block_structure): Strengthen third + param "bb_note" from rtx to rtx_note *. + * rtl.h (emit_note_before): Strengthen return type from rtx to + rtx_note *. + (emit_note_after): Likewise. + (emit_note): Likewise. + (emit_note_copy): Likewise. Also, strengthen param similarly. + * function.h (struct rtl_data): Strengthen field + "x_stack_check_probe_note" from rtx to rtx_note *. + + * cfgexpand.c (expand_gimple_basic_block): Strengthen local "note" + from rtx to rtx_note *. + * cfgrtl.c (create_basic_block_structure): Strengthen third param + "bb_note" from rtx to rtx_note *. + (duplicate_insn_chain): Likewise for local "last". Add a checked cast + when calling emit_note_copy. + * emit-rtl.c (make_note_raw): Strengthen return type from rtx to + rtx_note *. + (emit_note_after): Likewise. + (emit_note_before): Likewise. + (emit_note_copy): Likewise. Also, strengthen param similarly. + (emit_note): Likewise. + * except.c (emit_note_eh_region_end): Likewise for return type. + Strengthen local "next" from rtx to rtx_insn *. + (convert_to_eh_region_ranges): Strengthen local "note" + from rtx to rtx_note *. + * final.c (change_scope): Likewise. + (reemit_insn_block_notes): Likewise, for both locals named "note". + Also, strengthen local "insn" from rtx to rtx_insn *. + * haifa-sched.c (sched_extend_bb): Strengthen local "note" from + rtx to rtx_note *. + * reg-stack.c (compensate_edge): Likewise for local "after". Also, + strengthen local "seq" from rtx to rtx_insn *. + * reload1.c (reload_as_needed): Strengthen local "marker" from rtx + to rtx_note *. + * sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to + vec<rtx_note *>. + (get_bb_note_from_pool): Strengthen return type from rtx to + rtx_note *. + (sel_create_basic_block): Strengthen local "new_bb_note" from + insn_t to rtx_note *. + * var-tracking.c (emit_note_insn_var_location): Strengthen local + "note" from rtx to rtx_note *. + (emit_notes_in_bb): Likewise. + +2014-08-19 David Malcolm <dmalcolm@redhat.com> + * function.h (struct rtl_data): Strengthen field "x_parm_birth_insn" from rtx to rtx_insn *. * function.c (struct assign_parm_data_all): Strengthen fields diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 518dce2..2e494a4 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -412,7 +412,8 @@ extern void remove_edge_raw (edge); extern void redirect_edge_succ (edge, basic_block); extern edge redirect_edge_succ_nodup (edge, basic_block); extern void redirect_edge_pred (edge, basic_block); -extern basic_block create_basic_block_structure (rtx, rtx, rtx, basic_block); +extern basic_block create_basic_block_structure (rtx, rtx, rtx_note *, + basic_block); extern void clear_bb_flags (void); extern void dump_bb_info (FILE *, basic_block, int, int, bool, bool); extern void dump_edge_info (FILE *, edge, int, int); diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 77ead1b..0ed6d4f 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -4893,7 +4893,7 @@ expand_gimple_basic_block (basic_block bb, bool disable_tail_calls) gimple_stmt_iterator gsi; gimple_seq stmts; gimple stmt = NULL; - rtx note; + rtx_note *note; rtx_insn *last; edge e; edge_iterator ei; @@ -4965,7 +4965,7 @@ expand_gimple_basic_block (basic_block bb, bool disable_tail_calls) maybe_dump_rtl_for_gimple_stmt (stmt, last); } else - note = SET_BB_HEAD (bb) = emit_note (NOTE_INSN_BASIC_BLOCK); + SET_BB_HEAD (bb) = note = emit_note (NOTE_INSN_BASIC_BLOCK); NOTE_BASIC_BLOCK (note) = bb; diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index c6176a5..f0e7f5c 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -272,7 +272,8 @@ delete_insn_chain (rtx start, rtx finish, bool clear_bb) AFTER is the basic block we should be put after. */ basic_block -create_basic_block_structure (rtx head, rtx end, rtx bb_note, basic_block after) +create_basic_block_structure (rtx head, rtx end, rtx_note *bb_note, + basic_block after) { basic_block bb; @@ -4082,7 +4083,8 @@ cfg_layout_can_duplicate_bb_p (const_basic_block bb) rtx duplicate_insn_chain (rtx from, rtx to) { - rtx insn, next, last, copy; + rtx insn, next, copy; + rtx_note *last; /* Avoid updating of boundaries of previous basic block. The note will get removed from insn stream in fixup. */ @@ -4150,7 +4152,7 @@ duplicate_insn_chain (rtx from, rtx to) break; case NOTE_INSN_EPILOGUE_BEG: - emit_note_copy (insn); + emit_note_copy (as_a <rtx_note *> (insn)); break; default: diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 218ddc4..a254f9a 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3852,7 +3852,7 @@ make_call_insn_raw (rtx pattern) /* Like `make_insn_raw' but make a NOTE instead of an insn. */ -static rtx +static rtx_note * make_note_raw (enum insn_note subtype) { /* Some notes are never created this way at all. These notes are @@ -3860,7 +3860,7 @@ make_note_raw (enum insn_note subtype) gcc_assert (subtype != NOTE_INSN_DELETED_LABEL && subtype != NOTE_INSN_DELETED_DEBUG_LABEL); - rtx note = rtx_alloc (NOTE); + rtx_note *note = as_a <rtx_note *> (rtx_alloc (NOTE)); INSN_UID (note) = cur_insn_uid++; NOTE_KIND (note) = subtype; BLOCK_FOR_INSN (note) = NULL; @@ -4557,10 +4557,10 @@ note_outside_basic_block_p (enum insn_note subtype, bool on_bb_boundary_p) /* Emit a note of subtype SUBTYPE after the insn AFTER. */ -rtx +rtx_note * emit_note_after (enum insn_note subtype, rtx after) { - rtx note = make_note_raw (subtype); + rtx_note *note = make_note_raw (subtype); basic_block bb = BARRIER_P (after) ? NULL : BLOCK_FOR_INSN (after); bool on_bb_boundary_p = (bb != NULL && BB_END (bb) == after); @@ -4573,10 +4573,10 @@ emit_note_after (enum insn_note subtype, rtx after) /* Emit a note of subtype SUBTYPE before the insn BEFORE. */ -rtx +rtx_note * emit_note_before (enum insn_note subtype, rtx before) { - rtx note = make_note_raw (subtype); + rtx_note *note = make_note_raw (subtype); basic_block bb = BARRIER_P (before) ? NULL : BLOCK_FOR_INSN (before); bool on_bb_boundary_p = (bb != NULL && BB_HEAD (bb) == before); @@ -5023,11 +5023,11 @@ emit_barrier (void) /* Emit a copy of note ORIG. */ -rtx -emit_note_copy (rtx orig) +rtx_note * +emit_note_copy (rtx_note *orig) { enum insn_note kind = (enum insn_note) NOTE_KIND (orig); - rtx note = make_note_raw (kind); + rtx_note *note = make_note_raw (kind); NOTE_DATA (note) = NOTE_DATA (orig); add_insn (note); return note; @@ -5036,10 +5036,10 @@ emit_note_copy (rtx orig) /* Make an insn of code NOTE or type NOTE_NO and add it to the end of the doubly-linked list. */ -rtx +rtx_note * emit_note (enum insn_note kind) { - rtx note = make_note_raw (kind); + rtx_note *note = make_note_raw (kind); add_insn (note); return note; } diff --git a/gcc/except.c b/gcc/except.c index 58ee4bb..f1920e5 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2458,10 +2458,10 @@ add_call_site (rtx landing_pad, int action, int section) return call_site_base + crtl->eh.call_site_record_v[section]->length () - 1; } -static rtx +static rtx_note * emit_note_eh_region_end (rtx insn) { - rtx next = NEXT_INSN (insn); + rtx_insn *next = NEXT_INSN (insn); /* Make sure we do not split a call and its corresponding CALL_ARG_LOCATION note. */ @@ -2479,7 +2479,8 @@ emit_note_eh_region_end (rtx insn) static unsigned int convert_to_eh_region_ranges (void) { - rtx insn, iter, note; + rtx insn, iter; + rtx_note *note; action_hash_type ar_hash (31); int last_action = -3; rtx last_action_insn = NULL_RTX; diff --git a/gcc/final.c b/gcc/final.c index 6cfc0b9..4795473 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1631,7 +1631,7 @@ change_scope (rtx orig_insn, tree s1, tree s2) s = s1; while (s != com) { - rtx note = emit_note_before (NOTE_INSN_BLOCK_END, insn); + rtx_note *note = emit_note_before (NOTE_INSN_BLOCK_END, insn); NOTE_BLOCK (note) = s; s = BLOCK_SUPERCONTEXT (s); } @@ -1653,7 +1653,8 @@ static void reemit_insn_block_notes (void) { tree cur_block = DECL_INITIAL (cfun->decl); - rtx insn, note; + rtx_insn *insn; + rtx_note *note; insn = get_insns (); for (; insn; insn = NEXT_INSN (insn)) @@ -1666,7 +1667,7 @@ reemit_insn_block_notes (void) for (tree s = cur_block; s != DECL_INITIAL (cfun->decl); s = BLOCK_SUPERCONTEXT (s)) { - rtx note = emit_note_before (NOTE_INSN_BLOCK_END, insn); + rtx_note *note = emit_note_before (NOTE_INSN_BLOCK_END, insn); NOTE_BLOCK (note) = s; note = emit_note_after (NOTE_INSN_BLOCK_BEG, insn); NOTE_BLOCK (note) = s; diff --git a/gcc/function.h b/gcc/function.h index 0367225..575de1b 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -286,7 +286,7 @@ struct GTY(()) rtl_data { struct frame_space *frame_space_list; /* Place after which to insert the tail_recursion_label if we need one. */ - rtx x_stack_check_probe_note; + rtx_note *x_stack_check_probe_note; /* Location at which to save the argument pointer if it will need to be referenced. There are two cases where this is done: if nonlocal gotos diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 677cabc..4f4e4eb 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -7610,7 +7610,7 @@ sched_extend_bb (void) /* Don't emit a NOTE if it would end up before a BARRIER. */ && !BARRIER_P (NEXT_INSN (end)))) { - rtx note = emit_note_after (NOTE_INSN_DELETED, end); + rtx_note *note = emit_note_after (NOTE_INSN_DELETED, end); /* Make note appear outside BB. */ set_block_for_insn (note, NULL); SET_BB_END (EXIT_BLOCK_PTR_FOR_FN (cfun)->prev_bb) = end; diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index fe1ce7e..faa3e1f 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -2810,7 +2810,8 @@ compensate_edge (edge e) } else { - rtx seq, after; + rtx_insn *seq; + rtx_note *after; current_block = NULL; start_sequence (); diff --git a/gcc/reload1.c b/gcc/reload1.c index 25adf44..9e0f1e5 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4573,7 +4573,8 @@ reload_as_needed (int live_known) #if defined (AUTO_INC_DEC) int i; #endif - rtx x, marker; + rtx x; + rtx_note *marker; memset (spill_reg_rtx, 0, sizeof spill_reg_rtx); memset (spill_reg_store, 0, sizeof spill_reg_store); @@ -2393,7 +2393,7 @@ extern rtx emit_debug_insn_before_noloc (rtx, rtx); extern rtx emit_debug_insn_before_setloc (rtx, rtx, int); extern rtx emit_barrier_before (rtx); extern rtx emit_label_before (rtx, rtx); -extern rtx emit_note_before (enum insn_note, rtx); +extern rtx_note *emit_note_before (enum insn_note, rtx); extern rtx emit_insn_after (rtx, rtx); extern rtx emit_insn_after_noloc (rtx, rtx, basic_block); extern rtx emit_insn_after_setloc (rtx, rtx, int); @@ -2408,7 +2408,7 @@ extern rtx emit_debug_insn_after_noloc (rtx, rtx); extern rtx emit_debug_insn_after_setloc (rtx, rtx, int); extern rtx emit_barrier_after (rtx); extern rtx emit_label_after (rtx, rtx); -extern rtx emit_note_after (enum insn_note, rtx); +extern rtx_note *emit_note_after (enum insn_note, rtx); extern rtx emit_insn (rtx); extern rtx emit_debug_insn (rtx); extern rtx emit_jump_insn (rtx); @@ -2416,8 +2416,8 @@ extern rtx emit_call_insn (rtx); extern rtx emit_label (rtx); extern rtx emit_jump_table_data (rtx); extern rtx emit_barrier (void); -extern rtx emit_note (enum insn_note); -extern rtx emit_note_copy (rtx); +extern rtx_note *emit_note (enum insn_note); +extern rtx_note *emit_note_copy (rtx_note *); extern rtx gen_clobber (rtx); extern rtx emit_clobber (rtx); extern rtx gen_use (rtx); diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 8e257c5..f147ce2 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -126,7 +126,7 @@ static struct } nop_pool = { NULL, 0, 0 }; /* The pool for basic block notes. */ -static rtx_vec_t bb_note_pool; +static vec<rtx_note *> bb_note_pool; /* A NOP pattern used to emit placeholder insns. */ rtx nop_pattern = NULL_RTX; @@ -4976,14 +4976,14 @@ return_bb_to_pool (basic_block bb) } /* Get a bb_note from pool or return NULL_RTX if pool is empty. */ -static rtx +static rtx_note * get_bb_note_from_pool (void) { if (bb_note_pool.is_empty ()) - return NULL_RTX; + return NULL; else { - rtx note = bb_note_pool.pop (); + rtx_note *note = bb_note_pool.pop (); SET_PREV_INSN (note) = NULL_RTX; SET_NEXT_INSN (note) = NULL_RTX; @@ -5341,7 +5341,7 @@ static basic_block sel_create_basic_block (void *headp, void *endp, basic_block after) { basic_block new_bb; - insn_t new_bb_note; + rtx_note *new_bb_note; gcc_assert (flag_sel_sched_pipelining_outer_loops || !last_added_blocks.exists ()); diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 4f47808..a458380 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -8589,7 +8589,8 @@ emit_note_insn_var_location (variable_def **varp, emit_note_data *data) rtx insn = data->insn; enum emit_note_where where = data->where; variable_table_type *vars = data->vars; - rtx note, note_vl; + rtx_note *note; + rtx note_vl; int i, j, n_var_parts; bool complete; enum var_init_status initialized = VAR_INIT_STATUS_UNINITIALIZED; @@ -9135,7 +9136,8 @@ emit_notes_in_bb (basic_block bb, dataflow_set *set) dataflow_set_clear_at_call (set); emit_notes_for_changes (insn, EMIT_NOTE_AFTER_CALL_INSN, set->vars); { - rtx arguments = mo->u.loc, *p = &arguments, note; + rtx arguments = mo->u.loc, *p = &arguments; + rtx_note *note; while (*p) { XEXP (XEXP (*p, 0), 1) |