aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2002-05-20 18:20:45 +0000
committerDale Johannesen <dalej@gcc.gnu.org>2002-05-20 18:20:45 +0000
commit4c11675d61bdd9609e4a3e100e3e59eec85dbe4e (patch)
treeae5edcab4ff4b95c9b7e7effb8b3eceec65d3aa0 /gcc/combine.c
parent6a4d67604e3bf62a35668b98cf87465d5be73ec3 (diff)
downloadgcc-4c11675d61bdd9609e4a3e100e3e59eec85dbe4e.zip
gcc-4c11675d61bdd9609e4a3e100e3e59eec85dbe4e.tar.gz
gcc-4c11675d61bdd9609e4a3e100e3e59eec85dbe4e.tar.bz2
Back out my previous patch; causes bootstrap problem for Ada (86 Linux)
From-SVN: r53671
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 7a5604f..9415728 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -1460,10 +1460,10 @@ cant_combine_insn_p (insn)
if (! INSN_P (insn))
return 1;
- /* Never combine loads and stores involving hard regs that are likely
- to be spilled. The register allocator can usually handle such
- reg-reg moves by tying. If we allow the combiner to make
- substitutions of likely-spilled regs, we may abort in reload.
+ /* Never combine loads and stores involving hard regs. The register
+ allocator can usually handle such reg-reg moves by tying. If we allow
+ the combiner to make substitutions of hard regs, we risk aborting in
+ reload on machines that have SMALL_REGISTER_CLASSES.
As an exception, we allow combinations involving fixed regs; these are
not available to the register allocator so there's no risk involved. */
@@ -1478,11 +1478,9 @@ cant_combine_insn_p (insn)
dest = SUBREG_REG (dest);
if (REG_P (src) && REG_P (dest)
&& ((REGNO (src) < FIRST_PSEUDO_REGISTER
- && ! fixed_regs[REGNO (src)]
- && CLASS_LIKELY_SPILLED_P (REGNO_REG_CLASS (REGNO (src))))
+ && ! fixed_regs[REGNO (src)])
|| (REGNO (dest) < FIRST_PSEUDO_REGISTER
- && ! fixed_regs[REGNO (dest)]
- && CLASS_LIKELY_SPILLED_P (REGNO_REG_CLASS (REGNO (dest))))))
+ && ! fixed_regs[REGNO (dest)])))
return 1;
return 0;