http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47237

--- Comment #7 from Diego Novillo <dnovillo at gcc dot gnu.org> 2011-02-02 
17:53:16 UTC ---
Author: dnovillo
Date: Wed Feb  2 17:53:08 2011
New Revision: 169619

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169619
Log:
    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.

Added:
    branches/google/integration/gcc/testsuite/gcc.c-torture/execute/pr47237.c
Modified:
    branches/google/integration/gcc/cgraph.c
    branches/google/integration/gcc/cgraph.h
    branches/google/integration/gcc/cgraphunit.c
    branches/google/integration/gcc/config/i386/i386.c
    branches/google/integration/gcc/ipa-cp.c
    branches/google/integration/gcc/ipa-inline.c
    branches/google/integration/gcc/ipa-split.c
    branches/google/integration/gcc/lto-cgraph.c
    branches/google/integration/gcc/tree-sra.c

Reply via email to