diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-16 06:26:03 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-16 06:26:03 +0000 |
commit | 227ea5664211b8f4fa0c3bd56c876392877383c9 (patch) | |
tree | 2ecd38868f22ba9382ae22d97394f481c7e6a628 /gcc/optabs.c | |
parent | 92643d95e4fdc95da196b453ac036a606426ccf5 (diff) | |
download | gcc-227ea5664211b8f4fa0c3bd56c876392877383c9.tar.gz |
* optabs.c (emit_libcall_block): Don't hoist insns past a label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68001 138bc75d-0d04-0410-961f-82ee72b054a4
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 06299e8ffda..18d9e2acbb6 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 (); |