aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-07-12 15:09:44 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-07-12 15:09:44 -0400
commit59f25cf9abe5988f38516f6e62855eb2e894d910 (patch)
tree3b50ad28fd5aa4530c5d711caa46f5f06e873ef6 /gcc
parent90bf80812ec1b2c3c02728af87c71f2ebf64dcc7 (diff)
downloadgcc-59f25cf9abe5988f38516f6e62855eb2e894d910.zip
gcc-59f25cf9abe5988f38516f6e62855eb2e894d910.tar.gz
gcc-59f25cf9abe5988f38516f6e62855eb2e894d910.tar.bz2
(find_reloads): Don't try to call force_const_mem on a HIGH.
From-SVN: r7750
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reload.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 22e9f5f..b9a1c27 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -2954,6 +2954,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
precisely the same as in the code below that calls
force_const_mem. */
if (CONSTANT_P (operand)
+ /* force_const_mem does not accept HIGH. */
+ && GET_CODE (operand) != HIGH
&& (PREFERRED_RELOAD_CLASS (operand,
(enum reg_class) this_alternative[i])
== NO_REGS)
@@ -3294,6 +3296,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
for (i = 0; i < noperands; i++)
if (! goal_alternative_win[i]
&& CONSTANT_P (recog_operand[i])
+ /* force_const_mem does not accept HIGH. */
+ && GET_CODE (recog_operand[i]) != HIGH
&& (PREFERRED_RELOAD_CLASS (recog_operand[i],
(enum reg_class) goal_alternative[i])
== NO_REGS)