Use rtx_insn in more places in dwarf2cfi.c
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 28 Aug 2014 19:08:12 +0000 (19:08 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Thu, 28 Aug 2014 19:08:12 +0000 (19:08 +0000)
gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* dwarf2cfi.c (dw_trace_info): Strengthen field "head" from rtx to
rtx_insn *.
(get_trace_info): Likewise for param "insn".
(save_point_p): Likewise.
(maybe_record_trace_start): Likewise for both params.
(maybe_record_trace_start_abnormal): Likewise.
(create_trace_edges): Likewise for sole param and for three of the
locals named "lab".
(scan_trace): Strengthen local "prev", "insn", "control" from rtx
to rtx_insn *, and update a call to pat->element to pat->insn.

From-SVN: r214689

gcc/ChangeLog
gcc/dwarf2cfi.c

index eebe50127f2fdddde78c1f6dcd10916f1d6aad1a..5fbb47a7e7116d86b41ca1e802a14f8d72ae58ef 100644 (file)
@@ -1,3 +1,16 @@
+2014-08-28  David Malcolm  <dmalcolm@redhat.com>
+
+       * dwarf2cfi.c (dw_trace_info): Strengthen field "head" from rtx to
+       rtx_insn *.
+       (get_trace_info): Likewise for param "insn".
+       (save_point_p): Likewise.
+       (maybe_record_trace_start): Likewise for both params.
+       (maybe_record_trace_start_abnormal): Likewise.
+       (create_trace_edges): Likewise for sole param and for three of the
+       locals named "lab".
+       (scan_trace): Strengthen local "prev", "insn", "control" from rtx
+       to rtx_insn *, and update a call to pat->element to pat->insn.
+
 2014-08-28  David Malcolm  <dmalcolm@redhat.com>
 
        * function.h (struct expr_status): Convert field "x_forced_labels"
index 8b00b1e89ed78672dba3f3bc24dd3a4261ad30c9..e3fb078edd0a2c1347b049654f005cbf492a0ecd 100644 (file)
@@ -100,7 +100,7 @@ typedef struct GTY(()) reg_saved_in_data_struct {
 typedef struct
 {
   /* The insn that begins the trace.  */
-  rtx head;
+  rtx_insn *head;
 
   /* The row state at the beginning and end of the trace.  */
   dw_cfi_row *beg_row, *end_row;
@@ -303,7 +303,7 @@ expand_builtin_init_dwarf_reg_sizes (tree address)
 
 \f
 static dw_trace_info *
-get_trace_info (rtx insn)
+get_trace_info (rtx_insn *insn)
 {
   dw_trace_info dummy;
   dummy.head = insn;
@@ -311,7 +311,7 @@ get_trace_info (rtx insn)
 }
 
 static bool
-save_point_p (rtx insn)
+save_point_p (rtx_insn *insn)
 {
   /* Labels, except those that are really jump tables.  */
   if (LABEL_P (insn))
@@ -2197,7 +2197,7 @@ add_cfis_to_fde (void)
    trace from CUR_TRACE and CUR_ROW.  */
 
 static void
-maybe_record_trace_start (rtx start, rtx origin)
+maybe_record_trace_start (rtx_insn *start, rtx_insn *origin)
 {
   dw_trace_info *ti;
   HOST_WIDE_INT args_size;
@@ -2248,7 +2248,7 @@ maybe_record_trace_start (rtx start, rtx origin)
    and non-local goto edges.  */
 
 static void
-maybe_record_trace_start_abnormal (rtx start, rtx origin)
+maybe_record_trace_start_abnormal (rtx_insn *start, rtx_insn *origin)
 {
   HOST_WIDE_INT save_args_size, delta;
   dw_cfa_location save_cfa;
@@ -2284,7 +2284,7 @@ maybe_record_trace_start_abnormal (rtx start, rtx origin)
 /* ??? Sadly, this is in large part a duplicate of make_edges.  */
 
 static void
-create_trace_edges (rtx insn)
+create_trace_edges (rtx_insn *insn)
 {
   rtx tmp;
   int i, n;
@@ -2303,7 +2303,7 @@ create_trace_edges (rtx insn)
          n = GET_NUM_ELEM (vec);
          for (i = 0; i < n; ++i)
            {
-             rtx lab = XEXP (RTVEC_ELT (vec, i), 0);
+             rtx_insn *lab = as_a <rtx_insn *> (XEXP (RTVEC_ELT (vec, i), 0));
              maybe_record_trace_start (lab, insn);
            }
        }
@@ -2319,13 +2319,14 @@ create_trace_edges (rtx insn)
          n = ASM_OPERANDS_LABEL_LENGTH (tmp);
          for (i = 0; i < n; ++i)
            {
-             rtx lab = XEXP (ASM_OPERANDS_LABEL (tmp, i), 0);
+             rtx_insn *lab =
+               as_a <rtx_insn *> (XEXP (ASM_OPERANDS_LABEL (tmp, i), 0));
              maybe_record_trace_start (lab, insn);
            }
        }
       else
        {
-         rtx lab = JUMP_LABEL (insn);
+         rtx_insn *lab = JUMP_LABEL_AS_INSN (insn);
          gcc_assert (lab != NULL);
          maybe_record_trace_start (lab, insn);
        }
@@ -2376,7 +2377,7 @@ scan_insn_after (rtx insn)
 static void
 scan_trace (dw_trace_info *trace)
 {
-  rtx prev, insn = trace->head;
+  rtx_insn *prev, *insn = trace->head;
   dw_cfa_location this_cfa;
 
   if (dump_file)
@@ -2397,7 +2398,7 @@ scan_trace (dw_trace_info *trace)
        insn;
        prev = insn, insn = NEXT_INSN (insn))
     {
-      rtx control;
+      rtx_insn *control;
 
       /* Do everything that happens "before" the insn.  */
       add_cfi_insn = prev;
@@ -2427,7 +2428,7 @@ scan_trace (dw_trace_info *trace)
          rtx elt;
          int i, n = pat->len ();
 
-         control = pat->element (0);
+         control = pat->insn (0);
          if (can_throw_internal (control))
            notice_eh_throw (control);
          dwarf2out_flush_queued_reg_saves ();