aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2014-02-10 17:12:38 -0800
committerRichard Henderson <rth@gcc.gnu.org>2014-02-10 17:12:38 -0800
commitf830ddc257d1d708801f1a42b181f462da14637a (patch)
tree2578973d4cdade0f80d29d8d2dd1672a865ddc1e /gcc/calls.c
parent636109955cf4bee3387565546a365976e7b49f09 (diff)
downloadgcc-f830ddc257d1d708801f1a42b181f462da14637a.zip
gcc-f830ddc257d1d708801f1a42b181f462da14637a.tar.gz
gcc-f830ddc257d1d708801f1a42b181f462da14637a.tar.bz2
re PR target/59927 (ICE sorry, unimplemented: ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it)
PR target/59927 * calls.c (expand_call): Don't double-push for reg_parm_stack_space. * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit ms-abi vs -mno-accumulate-outgoing-args. (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p. * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with respect to ms-abi. From-SVN: r207677
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index d574a95..f392319 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2955,6 +2955,7 @@ expand_call (tree exp, rtx target, int ignore)
/* If we push args individually in reverse order, perform stack alignment
before the first push (the last arg). */
if (PUSH_ARGS_REVERSED && argblock == 0
+ && adjusted_args_size.constant > reg_parm_stack_space
&& adjusted_args_size.constant != unadjusted_args_size)
{
/* When the stack adjustment is pending, we get better code