diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-12-23 22:48:51 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-12-23 22:48:51 +0000 |
commit | 5b804e8a7ef5e3086eb34bfe0ed8348774f87801 (patch) | |
tree | dceaf4f9cc1f5ce1264bfaa0f3e40d0d8764a8da /gcc | |
parent | 5902897a20f64980c4b91886a3c31e412a67cf65 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload.c | 9 |
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)) |