]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386.c (ix86_option_override_internal): Do not enable accumulate-outgoing-args when...
authorJan Hubicka <jh@suse.cz>
Thu, 3 Oct 2013 17:25:42 +0000 (19:25 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 3 Oct 2013 17:25:42 +0000 (17:25 +0000)
* i386.c (ix86_option_override_internal): Do not enable
accumulate-outgoing-args when producing unwind info.

From-SVN: r203171

gcc/ChangeLog
gcc/config/i386/i386.c

index 138d6c5cd6bc66da3c0d9618c1b6257132aed5ae..93cd63d73b3d4f02ebfcaa1654d3c2cd4fd8dfcb 100644 (file)
@@ -1,3 +1,8 @@
+2013-10-03  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_option_override_internal): Do not enable
+       accumulate-outgoing-args when producing unwind info.
+
 2013-10-03  Wei Mi  <wmi@google.com>
 
        * lra-constraints.c (insert_move_for_subreg): New function
index 21fc5314861c2621beacc0a1121677e2f58b659b..09b0fc507703f7e2fea2061a3d08c23ade6103c9 100644 (file)
@@ -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.  */