On 10/05/11 00:29, Richard Henderson wrote:
> As a followup, I think this option needs to be disabled for profiling
> and profile_after_prologue.  Should be a mere matter of frobbing the
> options at startup.

The other code seems to test crtl->profile rather than an option flag,
so how's this? Bootstrapped along with the x86_64 fix.


Bernd
        * function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
        if profiling after the prologue.

Index: gcc/function.c
===================================================================
--- gcc/function.c      (revision 179553)
+++ gcc/function.c      (working copy)
@@ -5571,6 +5571,7 @@ thread_prologue_and_epilogue_insns (void
       }
       
   if (flag_shrink_wrap && HAVE_simple_return
+      && (targetm.profile_before_prologue () || !crtl->profile)
       && nonempty_prologue && !crtl->calls_eh_return)
     {
       HARD_REG_SET prologue_clobbered, prologue_used, live_on_edge;

Reply via email to