This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/47237] [4.3/4.4/4.5 Regression] builtin_apply_args broken WRT local ABI changes.
- From: "dnovillo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 2 Feb 2011 17:59:55 +0000
- Subject: [Bug tree-optimization/47237] [4.3/4.4/4.5 Regression] builtin_apply_args broken WRT local ABI changes.
- Auto-submitted: auto-generated
- References: <bug-47237-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47237
--- Comment #8 from Diego Novillo <dnovillo at gcc dot gnu.org> 2011-02-02 17:53:23 UTC ---
Author: dnovillo
Date: Wed Feb 2 17:53:17 2011
New Revision: 169620
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169620
Log:
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.
Modified:
branches/google/integration/gcc/ChangeLog
branches/google/integration/gcc/testsuite/ChangeLog