aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>1998-10-29 02:25:35 +0100
committerJeff Law <law@gcc.gnu.org>1998-10-28 18:25:35 -0700
commite526eeec3fdf5918bbc76d96db9255a45e554229 (patch)
tree7756529aae5dab64010772400897e4a1d5654719
parentaf2c0a263d20bef4da4cfef9bdba23f10545212d (diff)
downloadgcc-e526eeec3fdf5918bbc76d96db9255a45e554229.zip
gcc-e526eeec3fdf5918bbc76d96db9255a45e554229.tar.gz
gcc-e526eeec3fdf5918bbc76d96db9255a45e554229.tar.bz2
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/emit-rtl.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5152d5c..1dbc93a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+1998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * emit-rtl.c (try_split): Do not try to split a BARRIER.
+
Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
Jeffrey A Law (law@cygnus.com)
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index e1209b7..df3a5a9 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. */