aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-10-03 19:25:42 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-10-03 17:25:42 +0000
commitc7f36d55a63c3328c60e4198781867d61e14d886 (patch)
tree6a2403a59958d2806cf5d3dde9a3129d95ed6ffc /gcc
parent4f0bee4c9ae0c361ea1cb8731d928e92f610f593 (diff)
downloadgcc-c7f36d55a63c3328c60e4198781867d61e14d886.zip
gcc-c7f36d55a63c3328c60e4198781867d61e14d886.tar.gz
gcc-c7f36d55a63c3328c60e4198781867d61e14d886.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c19
2 files changed, 6 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 138d6c5..93cd63d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 21fc531..09b0fc5 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. */