re PR tree-optimization/47237 (builtin_apply_args broken WRT local ABI changes.)
authorJan Hubicka <hubicka@gcc.gnu.org>
Wed, 26 Jan 2011 14:07:02 +0000 (14:07 +0000)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 26 Jan 2011 14:07:02 +0000 (14:07 +0000)
PR target/47237
* gcc.c-torture/execute/pr47237.c: New testcase.

* cgraph.h (cgraph_local_info): New field can_change_signature.
* ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
signature can change.
(ipcp_estimate_growth): Call sequence simplify only if calle signature
can change.
(ipcp_insert_stage): Only compute args_to_skip if signature can change.
(cgraph_function_versioning): We can not change signature of functions
that don't allow that.
* lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
(lto_input_node): Likewise.
* ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
* ipa-split.c (visit_bb): Never split away APPLY_ARGS.
* tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
that can not change signature.
* i386.c (ix86_function_regparm, ix86_function_sseregparm,
init_cumulative_args): Do not use local calling conventions for functions
that can not change signature.

From-SVN: r169291

gcc/ChangeLog
gcc/testsuite/ChangeLog

index 452ee8d8afb831308380215ed8ab040909ae7d96..1eef5fa1eef6a7ab43a6adab015c3569b74de384 100644 (file)
@@ -1,3 +1,24 @@
+2011-01-22  Jan Hubicka  <jh@suse.cz>
+
+       PR target/47237
+       * cgraph.h (cgraph_local_info): New field can_change_signature.
+       * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
+       signature can change.
+       (ipcp_estimate_growth): Call sequence simplify only if calle signature
+       can change.
+       (ipcp_insert_stage): Only compute args_to_skip if signature can change.
+       (cgraph_function_versioning): We can not change signature of functions
+       that don't allow that.
+       * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
+       (lto_input_node): Likewise.
+       * ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
+       * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
+       * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
+       that can not change signature.
+       * i386.c (ix86_function_regparm, ix86_function_sseregparm,
+       init_cumulative_args): Do not use local calling conventions for functions
+       that can not change signature.
+
 2011-01-22  Jan Hubicka  <jh@suse.cz>
 
        * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
index 2d7d765dc15fb13496950bd0ded4371c2366807f..ed90ed7e8e969632bd4d8e2f7ebf4ba4c729507a 100644 (file)
@@ -1,4 +1,9 @@
-2011-01-26  Richard Guenther  <rguenther@suse.de>
+2011-01-26  Jan Hubicka  <jh@suse.cz>
+
+       PR target/47237
+       * gcc.c-torture/execute/pr47237.c: New testcase.
+
+2011-01-26  Jan Hubicka  <jh@suse.cz>
 
        PR tree-optimization/47190
        * gcc.dg/attr-weakref-3.c: New testcase.