Commit f3ab4eed by Jakub Jelinek Committed by Jakub Jelinek

toplev.c (process_options): Change flag_ipa_ra before creating optimization_{default,current}_node.

	* toplev.c (process_options): Change flag_ipa_ra before creating
	optimization_{default,current}_node.

From-SVN: r220490
parent bbd1bae2
2015-02-06 Jakub Jelinek <jakub@redhat.com> 2015-02-06 Jakub Jelinek <jakub@redhat.com>
* toplev.c (process_options): Change flag_ipa_ra before creating
optimization_{default,current}_node.
PR ipa/64896 PR ipa/64896
* cgraphunit.c (cgraph_node::expand_thunk): If * cgraphunit.c (cgraph_node::expand_thunk): If
restype is not is_gimple_reg_type nor the thunk_fndecl restype is not is_gimple_reg_type nor the thunk_fndecl
......
...@@ -1662,6 +1662,11 @@ process_options (void) ...@@ -1662,6 +1662,11 @@ process_options (void)
flag_sanitize &= ~SANITIZE_ADDRESS; flag_sanitize &= ~SANITIZE_ADDRESS;
} }
/* Do not use IPA optimizations for register allocation 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;
/* Enable -Werror=coverage-mismatch when -Werror and -Wno-error /* Enable -Werror=coverage-mismatch when -Werror and -Wno-error
have not been set. */ have not been set. */
if (!global_options_set.x_warnings_are_errors if (!global_options_set.x_warnings_are_errors
...@@ -1675,10 +1680,8 @@ process_options (void) ...@@ -1675,10 +1680,8 @@ process_options (void)
optimization_default_node = build_optimization_node (&global_options); optimization_default_node = build_optimization_node (&global_options);
optimization_current_node = optimization_default_node; optimization_current_node = optimization_default_node;
/* Disable use caller save optimization if profiler is active or port /* Please don't change global_options after this point, those changes won't
does not emit prologue and epilogue as RTL. */ be reflected in optimization_{default,current}_node. */
if (profile_flag || !HAVE_prologue || !HAVE_epilogue)
flag_ipa_ra = 0;
} }
/* This function can be called multiple times to reinitialize the compiler /* This function can be called multiple times to reinitialize the compiler
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment