]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Convert various rtx to rtx_note *
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 19 Aug 2014 20:08:20 +0000 (20:08 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 19 Aug 2014 20:08:20 +0000 (20:08 +0000)
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

14 files changed:
gcc/ChangeLog
gcc/basic-block.h
gcc/cfgexpand.c
gcc/cfgrtl.c
gcc/emit-rtl.c
gcc/except.c
gcc/final.c
gcc/function.h
gcc/haifa-sched.c
gcc/reg-stack.c
gcc/reload1.c
gcc/rtl.h
gcc/sel-sched-ir.c
gcc/var-tracking.c

index 413f54026efa197064255c9b0a439b52c0c3747c..6c71a91bf7c0275276b36ea020803ed902978175 100644 (file)
@@ -1,3 +1,50 @@
+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
index 518dce244793ef8683e96b013a87a15ea064f221..2e494a4995a0f08019fcddf921bdebd67d99d386 100644 (file)
@@ -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);
index 77ead1b39df354e838b4d25c74efe06f2d733c1c..0ed6d4fc533fda434d4a8e02cab9afb35ffeb615 100644 (file)
@@ -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;
 
index c6176a5ba878f2bdac4f98163224a552fb3a9177..f0e7f5caecbac578c7a2c60f30994b41077fbb7b 100644 (file)
@@ -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:
index 218ddc470ea5bba157016b33ebec0d7ef480273e..a254f9a99146360646f336e66c078d5c4bdf49ff 100644 (file)
@@ -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;
 }
index 58ee4bb505d8b120688e95f607a77a748a965b61..f1920e5530139a36a035191af00cf204997cfd6f 100644 (file)
@@ -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;
index 6cfc0b94a5aff17fc287000577e6dee6bcf2ec33..4795473731da3dae608056d8dd49d9d7eb8c1bc1 100644 (file)
@@ -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;
index 03672251e6770abb6dcae50b091b7ef9de768169..575de1be05d182a5a625bcb722cf2a8600452dcd 100644 (file)
@@ -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
index 677cabc382d19e761be57e630e9c8c6d7947dae6..4f4e4eb6c6765fca1a04dd3be974fe638a7337ea 100644 (file)
@@ -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;
index fe1ce7e0eddb2504cffc54b5b272d439977e9960..faa3e1f9ed8a604d57abbc63e8cda58e83360e51 100644 (file)
@@ -2810,7 +2810,8 @@ compensate_edge (edge e)
     }
   else
     {
-      rtx seq, after;
+      rtx_insn *seq;
+      rtx_note *after;
 
       current_block = NULL;
       start_sequence ();
index 25adf446e1d824c8666a9e818d8d5a63bf0c899f..9e0f1e5a6dd41327346c51625f388d116f0b8732 100644 (file)
@@ -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);
index 8426b91451aeb1e96799c6289797c84720a254d4..6d9defebce2819663197faaa81e6b2f202eeea16 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -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);
index 8e257c509a8b3306d6a83a668fdd1ce4f952cb94..f147ce255be66d42e4951bada188303df38c614e 100644 (file)
@@ -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 ());
index 4f4780824aaee8cc8baeedabc7c6c4566a3f1cd5..a458380a0ee549e524a62af95e8816db9f453cdd 100644 (file)
@@ -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)