gcc/
        * 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.
---
 gcc/sched-vis.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c
index 6f89e08..ead6b4e 100644
--- a/gcc/sched-vis.c
+++ b/gcc/sched-vis.c
@@ -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);
              }
          }
-- 
1.8.5.3

Reply via email to