aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-12-23 22:48:51 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-12-23 22:48:51 +0000
commit5b804e8a7ef5e3086eb34bfe0ed8348774f87801 (patch)
treedceaf4f9cc1f5ce1264bfaa0f3e40d0d8764a8da /gcc
parent5902897a20f64980c4b91886a3c31e412a67cf65 (diff)
downloadgcc-5b804e8a7ef5e3086eb34bfe0ed8348774f87801.zip
gcc-5b804e8a7ef5e3086eb34bfe0ed8348774f87801.tar.gz
gcc-5b804e8a7ef5e3086eb34bfe0ed8348774f87801.tar.bz2
reload.c (regno_clobbered_p): Add a gcc_assert that regno refers to a hard register.
* reload.c (regno_clobbered_p): Add a gcc_assert that regno refers to a hard register. From-SVN: r92574
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c84ae79..82ee9a4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-23 Roger Sayle <roger@eyesopen.com>
+
+ * reload.c (regno_clobbered_p): Add a gcc_assert that regno
+ refers to a hard register.
+
2004-12-23 Mark Mitchell <mark@codesourcery.com>
* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
diff --git a/gcc/reload.c b/gcc/reload.c
index 9c0836a..08a22de 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -6947,8 +6947,13 @@ int
regno_clobbered_p (unsigned int regno, rtx insn, enum machine_mode mode,
int sets)
{
- unsigned int nregs = hard_regno_nregs[regno][mode];
- unsigned int endregno = regno + nregs;
+ unsigned int nregs, endregno;
+
+ /* regno must be a hard register. */
+ gcc_assert (regno < FIRST_PSEUDO_REGISTER);
+
+ nregs = hard_regno_nregs[regno][mode];
+ endregno = regno + nregs;
if ((GET_CODE (PATTERN (insn)) == CLOBBER
|| (sets && GET_CODE (PATTERN (insn)) == SET))