aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-09-30 21:35:17 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-09-30 19:35:17 +0000
commit344b78b848693ada74b0ce238153c86fdf02ee09 (patch)
tree935edce515bf5aaa1706595857265e30bbcf42c7 /gcc/jump.c
parent5a9a196102ff0d1bf27831e0ce396049cc334db8 (diff)
downloadgcc-344b78b848693ada74b0ce238153c86fdf02ee09.zip
gcc-344b78b848693ada74b0ce238153c86fdf02ee09.tar.gz
gcc-344b78b848693ada74b0ce238153c86fdf02ee09.tar.bz2
reload.c (push_reload): Handle subregs and secondary memory.
* reload.c (push_reload): Handle subregs and secondary memory. * reload1.c (gen_reload): Likewise. * jump.c (reg_or_subregno): New function. * rtl.h (reg_or_subregno): Declare * unroll.c (find_splittable_givs): Handle subregs. From-SVN: r57663
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 5fef7b7..3b75110 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -2410,3 +2410,15 @@ true_regnum (x)
}
return -1;
}
+
+/* Return regno of the register REG and handle subregs too. */
+unsigned int
+reg_or_subregno (reg)
+ rtx reg;
+{
+ if (REG_P (reg))
+ return REGNO (reg);
+ if (GET_CODE (reg) == SUBREG)
+ return REGNO (SUBREG_REG (reg));
+ abort ();
+}