From e526eeec3fdf5918bbc76d96db9255a45e554229 Mon Sep 17 00:00:00 2001 From: "Herman A.J. ten Brugge" Date: Thu, 29 Oct 1998 02:25:35 +0100 Subject: [PATCH] emit-rtl.c (try_split): Do not try to split a BARRIER. * emit-rtl.c (try_split): Do not try to split a BARRIER. Fixes core dump for c4x c-torture test. From-SVN: r23420 --- gcc/ChangeLog | 4 ++++ gcc/emit-rtl.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5152d5c6b69..1dbc93a050b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +1998-10-29 Herman A.J. ten Brugge + + * emit-rtl.c (try_split): Do not try to split a BARRIER. + Thu Oct 29 01:33:54 1998 Jan Hubicka Jeffrey A Law (law@cygnus.com) diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index e1209b7a6f7..df3a5a96e37 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -2270,10 +2270,12 @@ 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. */ + 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. */ for (tem = NEXT_INSN (before); tem != after; tem = NEXT_INSN (tem)) - if (! INSN_DELETED_P (tem)) + if (! INSN_DELETED_P (tem) && ! GET_CODE (tem) == BARRIER) tem = try_split (PATTERN (tem), tem, 1); } /* Avoid infinite loop if the result matches the original pattern. */ -- 2.30.2