sched-vis.c: Use rtx_sequence
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 27 Aug 2014 20:26:27 +0000 (20:26 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Wed, 27 Aug 2014 20:26:27 +0000 (20:26 +0000)
gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* sched-vis.c (print_pattern): Within SEQUENCE case, introduce a
local "seq" via a checked cast, and use methods of rtx_sequence
to simplify the code.

From-SVN: r214599

gcc/ChangeLog
gcc/sched-vis.c

index 162722c8622c17a2cae5ecfae55fcbbad46d53d2..52641234eb2b9c329778f4a5174e7ecfb70860c1 100644 (file)
@@ -1,3 +1,9 @@
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * sched-vis.c (print_pattern): Within SEQUENCE case, introduce a
+       local "seq" via a checked cast, and use methods of rtx_sequence
+       to simplify the code.
+
 2014-08-27  David Malcolm  <dmalcolm@redhat.com>
 
        * resource.c (mark_referenced_resources): Strengthen local
index b35c137f7c4f31004f7745e1bb10e0313fb6bd29..bcce40d6c6d639c93e3a9c28f3afc0593230da5e 100644 (file)
@@ -578,8 +578,9 @@ print_pattern (pretty_printer *pp, const_rtx x, int verbose)
       break;
     case SEQUENCE:
       {
+       const rtx_sequence *seq = as_a <const rtx_sequence *> (x);
        pp_string (pp, "sequence{");
-       if (INSN_P (XVECEXP (x, 0, 0)))
+       if (INSN_P (seq->element (0)))
          {
            /* Print the sequence insns indented.  */
            const char * save_print_rtx_head = print_rtx_head;
@@ -591,16 +592,16 @@ print_pattern (pretty_printer *pp, const_rtx x, int verbose)
                      sizeof (indented_print_rtx_head),
                      "%s     ", print_rtx_head);
            print_rtx_head = indented_print_rtx_head;
-           for (int i = 0; i < XVECLEN (x, 0); i++)
-             print_insn_with_notes (pp, XVECEXP (x, 0, i));
+           for (int i = 0; i < seq->len (); i++)
+             print_insn_with_notes (pp, seq->insn (i));
            pp_printf (pp, "%s      ", save_print_rtx_head);
            print_rtx_head = save_print_rtx_head;
          }
        else
          {
-           for (int i = 0; i < XVECLEN (x, 0); i++)
+           for (int i = 0; i < seq->len (); i++)
              {
-               print_pattern (pp, XVECEXP (x, 0, i), verbose);
+               print_pattern (pp, seq->element (i), verbose);
                pp_semicolon (pp);
              }
          }