diff options
author | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-01-26 14:07:02 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-01-26 14:07:02 +0000 |
commit | 34f0eee0f62579c181a641d59f8ae63913ca8cb4 (patch) | |
tree | 9853ec915cab8b3bfdac80196c989cd879cdc4a4 /gcc | |
parent | 61e03ffc6b8284abe34837fc85a82566ee4552ee (diff) | |
download | gcc-34f0eee0f62579c181a641d59f8ae63913ca8cb4.zip gcc-34f0eee0f62579c181a641d59f8ae63913ca8cb4.tar.gz gcc-34f0eee0f62579c181a641d59f8ae63913ca8cb4.tar.bz2 |
re PR tree-optimization/47237 (builtin_apply_args broken WRT local ABI changes.)
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 21 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 |
2 files changed, 27 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 452ee8d..1eef5fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,26 @@ 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. 2011-01-26 Richard Guenther <rguenther@suse.de> diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2d7d765..ed90ed7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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. |