* emit-rtl.c (try_split): Don't try to split non-instructions.
authorRichard Henderson <rth@cygnus.com>
Thu, 21 Jan 1999 21:54:47 +0000 (13:54 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 21 Jan 1999 21:54:47 +0000 (13:54 -0800)
From-SVN: r24813

gcc/ChangeLog
gcc/emit-rtl.c

index 99219f614da2d7af6d60ca9ce9cd8687e33405e6..7aa9b3054d79377a0268cc87dc43e81e9ce1f27d 100644 (file)
@@ -1,3 +1,7 @@
+Thu Jan 21 21:53:36 1999  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (try_split): Don't try to split non-instructions.
+
 Thu Jan 21 23:47:30 EST 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
        * expr.c (emit_push_insn): Fix dumb typo.
index 22fdaf692dbee2e76b02b8c293c966b863c5ad6e..d58b895e7513c69d4a2c2c72173d46aece03a16d 100644 (file)
@@ -2265,12 +2265,11 @@ try_split (pat, trial, last)
             time control returns here that insn will be fully split, so
             set LAST and continue from the insn after the one returned.
             We can't use next_active_insn here since AFTER may be a note.
-            Ignore deleted insns, which can be occur if not optimizing,
-            and ignore BARRIERs which can occur if we split the insn
-            immediately before a BARRIER.  */
+            Ignore deleted insns, which can be occur if not optimizing.  */
          for (tem = NEXT_INSN (before); tem != after;
               tem = NEXT_INSN (tem))
-           if (! INSN_DELETED_P (tem) && GET_CODE (tem) != BARRIER)
+           if (! INSN_DELETED_P (tem)
+               && GET_RTX_CLASS (GET_CODE (tem)) == 'i')
              tem = try_split (PATTERN (tem), tem, 1);
        }
       /* Avoid infinite loop if the result matches the original pattern.  */