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