Hi,
the fix for PR target/81736 unconditionally overrules -fno-omit-frame-pointer,
including at -O0 where it is implicit. That seems brutal and unnecessary so
the attached patch reverts it at -O0 and thus fixes 135 failures in the GDB
testsuite:
=== gdb Summary ===
-# of expected passes 55397
-# of unexpected failures 359
+# of expected passes 55534
+# of unexpected failures 224
# of unexpected successes 3
# of expected failures 64
# of unknown successes 3
Tested on x86-64/Linux, OK for mainline and 8 branch?
2018-06-20 Eric Botcazou <ebotca...@adacore.com>
* config/i386/i386.c (ix86_finalize_stack_frame_flags): Do not overrule
-fno-omit-frame-pointer when not optimizing.
--
Eric Botcazou
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8a0baed5e02..d7dad81786a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -13328,7 +13328,7 @@ ix86_finalize_stack_frame_flags (void)
is used, but in the end nothing that needed the stack alignment had
been spilled nor stack access, clear frame_pointer_needed and say we
don't need stack realignment. */
- if ((stack_realign || !flag_omit_frame_pointer)
+ if ((stack_realign || (!flag_omit_frame_pointer && optimize))
&& frame_pointer_needed
&& crtl->is_leaf
&& crtl->sp_is_unchanging