Hello, I also need to handle SEQUENCE, of course, or slim dumping fails in targets with branch delay slots. But who knew SEQUENCE can also appear as a REG_NOTE value?!
The cfgrtl.c fix is purely cosmetic and obvious. Bootstrapped&tested on powerpc64-unknown-linux-gnu. Committed as obvious. Ciao! Steven * sched-vis (print_pattern): Handle SEQUENCE also. * cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns. Index: sched-vis.c =================================================================== --- sched-vis.c (revision 190016) +++ sched-vis.c (working copy) @@ -610,8 +610,19 @@ print_pattern (char *buf, const_rtx x, int verbose } break; case SEQUENCE: - /* Should never see SEQUENCE codes until after reorg. */ - gcc_unreachable (); + { + int i; + + sprintf (t1, "sequence{"); + for (i = 0; i < XVECLEN (x, 0); i++) + { + print_pattern (t2, XVECEXP (x, 0, i), verbose); + sprintf (t3, "%s%s;", t1, t2); + strcpy (t1, t3); + } + sprintf (buf, "%s}", t1); + } + break; case ASM_INPUT: sprintf (buf, "asm {%s}", XSTR (x, 0)); break; Index: cfgrtl.c =================================================================== --- cfgrtl.c (revision 190112) +++ cfgrtl.c (working copy) @@ -1958,10 +1958,9 @@ print_rtl_with_bb (FILE *outf, const_rtx rtx_first dump_bb_info (outf, bb, 0, dump_flags | TDF_COMMENT, false, true); if (df && (flags & TDF_DETAILS)) df_dump_bottom (bb, outf); + putc ('\n', outf); } } - - putc ('\n', outf); } free (start);