aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-08-20 23:19:05 +0000
committerJeff Law <law@gcc.gnu.org>1998-08-20 17:19:05 -0600
commit84f1ebff03debd27c7cd5e39c9cf68bdc77fad1c (patch)
tree6c02413ea06f33c9f2945c39b822fa461ec89f83
parent8fc001f9a2a7e33d30abef625c9245995dcfe9f0 (diff)
downloadgcc-84f1ebff03debd27c7cd5e39c9cf68bdc77fad1c.zip
gcc-84f1ebff03debd27c7cd5e39c9cf68bdc77fad1c.tar.gz
gcc-84f1ebff03debd27c7cd5e39c9cf68bdc77fad1c.tar.bz2
remove.c (optimize_reg_copy_3): Abort instead of silently generating bogus rtl.
* remove.c (optimize_reg_copy_3): Abort instead of silently generating bogus rtl. From-SVN: r21887
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/regmove.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5b659e3..67c10b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com)
+ * remove.c (optimize_reg_copy_3): Abort instead of silently generating
+ bogus rtl.
+
* jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
Thu Aug 20 17:35:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
diff --git a/gcc/regmove.c b/gcc/regmove.c
index ba78411..089dc46 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -560,7 +560,10 @@ optimize_reg_copy_3 (insn, dest, src)
{
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
continue;
- validate_replace_rtx (src_reg, subreg, p);
+ /* If we can not perform the replacement, then abort now
+ to make debugging easier. */
+ if (! validate_replace_rtx (src_reg, subreg, p))
+ abort ();
}
validate_replace_rtx (src, src_reg, insn);
}