http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47489

Andrey Belevantsev <abel at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.01.28 09:43:05
                 CC|                            |abel at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #1 from Andrey Belevantsev <abel at gcc dot gnu.org> 2011-01-28 
09:43:05 UTC ---
Confirmed.  This is because we deliberately abort on SEQUENCEs here since 2002
(rev. 54497) because of:

    2002-06-05  David S. Miller  <da...@redhat.com>

        Delete SEQUENCE rtl usage outside of reorg and ssa passes.

So either we reinstate the hunk deleted back there like with patch below, or we
document that slim dumps cannot be requested for machine reorg and later
passes.

diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c
index 25a0b60..331ccbf 100644
--- a/gcc/sched-vis.c
+++ b/gcc/sched-vis.c
@@ -599,8 +599,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, "%%{");
+       for (i = 0; i < XVECLEN (x, 0); i++)
+         {
+           print_insn (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;

Reply via email to