summaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1995-12-17 10:17:23 -0700
committerJeff Law <law@gcc.gnu.org>1995-12-17 10:17:23 -0700
commit041d71807974f04fc621367fe49b0bba6468bb5c (patch)
treeb0c096d7839f2547e531c7f4727f4a374911bc64 /gcc/regclass.c
parenta295d3317e3675c09de2b101e88f08eba04f26c5 (diff)
downloadgcc-041d71807974f04fc621367fe49b0bba6468bb5c.tar.gz
regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's defined to avoid useless work.
* regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's defined to avoid useless work. * combine.c (find_split_point): Try to split SET_DEST just like we do for SET_SRC. From-SVN: r10790
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 9b9a4d50ec7..964cd59b68e 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -674,6 +674,10 @@ regclass (f, nregs)
being used in such addresses. */
if ((0
+#ifdef SECONDARY_RELOAD_CLASS
+ || (SECONDARY_RELOAD_CLASS (BASE_REG_CLASS, m, r)
+ != NO_REGS)
+#else
#ifdef SECONDARY_INPUT_RELOAD_CLASS
|| (SECONDARY_INPUT_RELOAD_CLASS (BASE_REG_CLASS, m, r)
!= NO_REGS)
@@ -682,6 +686,7 @@ regclass (f, nregs)
|| (SECONDARY_OUTPUT_RELOAD_CLASS (BASE_REG_CLASS, m, r)
!= NO_REGS)
#endif
+#endif
)
&& ! auto_inc_dec_reg_p (r, m))
forbidden_inc_dec_class[i] = 1;