On 02/06/15 13:28, Jakub Jelinek wrote:
Hi!
As discussed in PR64340, the clearing of flag_ipa_ra is misplaced too,
because it isn't reflected in optimization_default_node.
Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?
2015-02-06 Jakub Jelinek <ja...@redhat.com>
* toplev.c (process_options): Change flag_ipa_ra before creating
optimization_{default,current}_node.
--- gcc/toplev.c.jj 2015-01-31 10:07:40.000000000 +0100
+++ gcc/toplev.c 2015-02-06 17:20:11.778126431 +0100
@@ -1662,6 +1662,11 @@ process_options (void)
flag_sanitize &= ~SANITIZE_ADDRESS;
}
+ /* Disable use caller save optimization if profiler is active or port
+ does not emit prologue and epilogue as RTL. */
+ if (profile_flag || !HAVE_prologue || !HAVE_epilogue)
+ flag_ipa_ra = 0;
OK if you could update that comment -- in particular "caller save"
should be replaced with something more meaningful.
Disable use of IPA information for register allocation if profiler ...
seems good to me.
jeff