diff options
author | Richard Stallman <rms@gnu.org> | 1993-09-16 17:35:50 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-09-16 17:35:50 +0000 |
commit | 944d7b1408dfe5b174cc74f1c518f1737081ac32 (patch) | |
tree | c2e208278ddf346e9bda95fc5ccd412fbafdaf1a /gcc/reload.c | |
parent | fefc83ce1c3e63af0807a98490779d599c408f39 (diff) | |
download | gcc-944d7b1408dfe5b174cc74f1c518f1737081ac32.zip gcc-944d7b1408dfe5b174cc74f1c518f1737081ac32.tar.gz gcc-944d7b1408dfe5b174cc74f1c518f1737081ac32.tar.bz2 |
(find_reloads): For PLUS operand, call find_reloads_toplev.
From-SVN: r5342
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 8b6a89d..6b91e0c 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2438,6 +2438,12 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) ind_levels, set != 0 && &SET_DEST (set) == recog_operand_loc[i]); + else if (code == PLUS) + /* We can get a PLUS as an "operand" as a result of + register elimination. See eliminate_regs and gen_input_reload. */ + substed_operand[i] = recog_operand[i] = *recog_operand_loc[i] + = find_reloads_toplev (recog_operand[i], i, address_type[i], + ind_levels, 0); else if (code == REG) { /* This is equivalent to calling find_reloads_toplev. |