diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2003-06-16 06:26:03 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2003-06-16 06:26:03 +0000 |
commit | 695a94b30aef2dbf9d30e96d02c8fdfa5d99c3eb (patch) | |
tree | 2ecd38868f22ba9382ae22d97394f481c7e6a628 /gcc/optabs.c | |
parent | a5c2492672af53c58d1649e1c0f0291923516f47 (diff) | |
download | gcc-695a94b30aef2dbf9d30e96d02c8fdfa5d99c3eb.zip gcc-695a94b30aef2dbf9d30e96d02c8fdfa5d99c3eb.tar.gz gcc-695a94b30aef2dbf9d30e96d02c8fdfa5d99c3eb.tar.bz2 |
* optabs.c (emit_libcall_block): Don't hoist insns past a label.
From-SVN: r68001
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 06299e8..18d9e2a 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -3449,6 +3449,11 @@ emit_libcall_block (insns, target, result, equiv) add_insn (insn); } + + /* Some ports use a loop to copy large arguments onto the stack. + Don't move anything outside such a loop. */ + if (GET_CODE (insn) == CODE_LABEL) + break; } prev = get_last_insn (); |