summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-08-20 23:19:05 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-08-20 23:19:05 +0000
commit564a01429bb3e847fea2ff4d2e7df2d7dfd92f11 (patch)
tree6c02413ea06f33c9f2945c39b822fa461ec89f83
parent2207ad6ae28559f9289c0089447da404d438a839 (diff)
downloadgcc-564a01429bb3e847fea2ff4d2e7df2d7dfd92f11.tar.gz
* remove.c (optimize_reg_copy_3): Abort instead of silently generating
bogus rtl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21887 138bc75d-0d04-0410-961f-82ee72b054a4
-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 5b659e31b7f..67c10b49718 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 ba78411bea8..089dc46e8a7 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);
}