From: Richard Sandiford Date: Mon, 16 Jun 2003 06:26:03 +0000 (+0000) Subject: * optabs.c (emit_libcall_block): Don't hoist insns past a label. X-Git-Tag: releases/gcc-3.4.0~5796 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=695a94b30aef2dbf9d30e96d02c8fdfa5d99c3eb;p=thirdparty%2Fgcc.git * optabs.c (emit_libcall_block): Don't hoist insns past a label. From-SVN: r68001 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9c45b108320..e4215a2022eb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-06-16 Richard Sandiford + + * optabs.c (emit_libcall_block): Don't hoist insns past a label. + 2003-06-16 Richard Henderson * config/alpha/alpha-protos.h, config/alpha/elf.h, diff --git a/gcc/optabs.c b/gcc/optabs.c index 06299e8ffdaf..18d9e2acbb64 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 ();