This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Do not disable -fomit-frame-pointer on !ACCUMULATE_OUTGOING_ARGS targets
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Richard Henderson <rth at redhat dot com>
- Date: Thu, 28 Mar 2013 09:25:47 +0100
- Subject: Re: Do not disable -fomit-frame-pointer on !ACCUMULATE_OUTGOING_ARGS targets
- References: <1376739 dot Jx8uRcIPDP at polaris> <2212211 dot 9j9Tq3FWAK at polaris> <51530B8A dot 8010401 at redhat dot com>
> Isn't pass_dwarf2_frame enabled whenever we're generating any unwind info?
OK, I've installed this on mainline, 4.8 branch and 4.7 branch.
2013-03-28 Eric Botcazou <ebotcazou@adacore.com>
* toplev.c (process_options): Do not disable -fomit-frame-pointer on a
general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
is not enabled.
--
Eric Botcazou
Index: toplev.c
===================================================================
--- toplev.c (revision 196816)
+++ toplev.c (working copy)
@@ -1527,18 +1527,6 @@ process_options (void)
if (!flag_stack_protect)
warn_stack_protect = 0;
- /* ??? Unwind info is not correct around the CFG unless either a frame
- pointer is present or 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 && !ACCUMULATE_OUTGOING_ARGS
- && flag_omit_frame_pointer)
- {
- warning (0, "unwind tables currently require a frame pointer "
- "for correctness");
- flag_omit_frame_pointer = 0;
- }
-
/* Address Sanitizer needs porting to each target architecture. */
if (flag_asan
&& (targetm.asan_shadow_offset == NULL