diff options
author | J"orn Rennecke <amylaar@redhat.com> | 2001-01-04 23:28:00 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2001-01-04 23:28:00 +0000 |
commit | e2a5f96bbfae7b9b30d76246c1cd58fe80dddd2c (patch) | |
tree | 3ff38e446f960e5596f4f68082e401c9737766e4 /gcc/function.c | |
parent | e9049f5741d04553d9a5de0ddc003c05048ee823 (diff) | |
download | gcc-e2a5f96bbfae7b9b30d76246c1cd58fe80dddd2c.zip gcc-e2a5f96bbfae7b9b30d76246c1cd58fe80dddd2c.tar.gz gcc-e2a5f96bbfae7b9b30d76246c1cd58fe80dddd2c.tar.bz2 |
integrate.c (expand_inline_function): Don't put a virtual register into the reg map.
* integrate.c (expand_inline_function): Don't put a virtual
register into the reg map.
* function.c (fixup_var_refs_1): If force_operand didn't put
the address into the target, move it there.
From-SVN: r38694
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c index bbd7ecc..90ca36a 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1916,7 +1916,9 @@ fixup_var_refs_1 (var, promoted_mode, loc, insn, replacements) /* That failed. Fall back on force_operand and hope. */ start_sequence (); - force_operand (sub, y); + sub = force_operand (sub, y); + if (sub != y) + emit_insn (gen_move_insn (y, sub)); seq = gen_sequence (); end_sequence (); } |