From: Jan Hubicka Date: Thu, 3 Oct 2013 17:25:42 +0000 (+0200) Subject: i386.c (ix86_option_override_internal): Do not enable accumulate-outgoing-args when... X-Git-Tag: releases/gcc-4.9.0~3720 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7f36d55a63c3328c60e4198781867d61e14d886;p=thirdparty%2Fgcc.git i386.c (ix86_option_override_internal): Do not enable accumulate-outgoing-args when producing unwind info. * i386.c (ix86_option_override_internal): Do not enable accumulate-outgoing-args when producing unwind info. From-SVN: r203171 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 138d6c5cd6bc..93cd63d73b3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-10-03 Jan Hubicka + + * i386.c (ix86_option_override_internal): Do not enable + accumulate-outgoing-args when producing unwind info. + 2013-10-03 Wei Mi * lra-constraints.c (insert_move_for_subreg): New function diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 21fc5314861c..09b0fc507703 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3793,28 +3793,11 @@ ix86_option_override_internal (bool main_args_p) } ix86_tune_mask = 1u << ix86_tune; - if ((!USE_IX86_FRAME_POINTER - || (x86_accumulate_outgoing_args & ix86_tune_mask)) + if ((x86_accumulate_outgoing_args & ix86_tune_mask) && !(target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS) && !optimize_size) target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; - /* ??? Unwind info is not correct around the CFG unless either a frame - pointer is present or M_A_O_A is set. Fixing this requires rewriting - unwind info generation to be aware of the CFG and propagating states - around edges. */ - if ((flag_unwind_tables || flag_asynchronous_unwind_tables - || flag_exceptions || flag_non_call_exceptions) - && flag_omit_frame_pointer - && !(target_flags & MASK_ACCUMULATE_OUTGOING_ARGS)) - { - if (target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS) - warning (0, "unwind tables currently require either a frame pointer " - "or %saccumulate-outgoing-args%s for correctness", - prefix, suffix); - target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; - } - /* If stack probes are required, the space used for large function arguments on the stack must also be probed, so enable -maccumulate-outgoing-args so this happens in the prologue. */