https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61324

--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Thu Dec 11 21:48:48 2014
New Revision: 218640

URL: https://gcc.gnu.org/viewcvs?rev=218640&root=gcc&view=rev
Log:

    PR ipa/61324
    * testsuite/g++.dg/pr61324.C: New testcase by Trevor Saunders.
    * testsuite/g++.dg/tm/pr51411-2.C: Update se the extern function is
    not eliminated early.
    * testsuite/gcc.target/i386/pr57756.c: Turn extern inline into static
    inline.

    * passes.c (execute_todo): Update call of remove_unreachable_nodes.
    * ipa-chkp.c (chkp_produce_thunks): Use TODO_remove_functions.
    * cgraphunit.c (symbol_table::process_new_functions): Add
    IPA_SSA_AFTER_INLINING.
    (ipa_passes): Update call of remove_unreachable_nodes.
    (symbol_table::compile): Remove call of remove_unreachable_nodes.
    * ipa-inline.c (inline_small_functions): Do not ICE with
    -flto-partition=none
    (ipa_inline): Update symtab->state; fix formatting
    update call of remove_unreachable_nodes.
    * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
    * cgraph.h (enum symtab_state): Add IPA_SSA_AFTER_INLINING.
    (remove_unreachable_nodes): Update.
    * ipa.c (process_references): Keep external references only
    when optimizing.
    (walk_polymorphic_call_targets): Keep possible polymorphic call
    target only when devirtualizing.
    (symbol_table::remove_unreachable_nodes): Remove BEFORE_INLINING_P
    parameter.
    (ipa_single_use): Update comment.
    * ipa-pure-const.c (cdtor_p): New function.
    (propagate_pure_const): Track if some cdtor was turned pure/const.
    (execute): Return TODO_remove_functions if needed.
    * ipa-comdats.c (ipa_comdats): Update comment.

    * lto.c (read_cgraph_and_symbols): Update call of
    remove_unreachable_nodes.
    (do_whole_program_analysis): Remove call of
    symtab->remove_unreachable_nodes

Added:
    trunk/gcc/testsuite/g++.dg/pr61324.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cgraph.h
    trunk/gcc/cgraphclones.c
    trunk/gcc/cgraphunit.c
    trunk/gcc/ipa-chkp.c
    trunk/gcc/ipa-comdats.c
    trunk/gcc/ipa-inline.c
    trunk/gcc/ipa-pure-const.c
    trunk/gcc/ipa.c
    trunk/gcc/lto/ChangeLog
    trunk/gcc/lto/lto.c
    trunk/gcc/passes.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/tm/pr51411-2.C
    trunk/gcc/testsuite/gcc.target/i386/pr57756.c

Reply via email to