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

--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Wed Mar 26 02:11:57 2014
New Revision: 208831

URL: http://gcc.gnu.org/viewcvs?rev=208831&root=gcc&view=rev
Log:

    PR ipa/60315
    * cif-code.def (UNREACHABLE) New code.
    * ipa-inline.c (inline_small_functions): Skip edges to
__builtlin_unreachable.
    (estimate_edge_growth): Allow edges to __builtlin_unreachable.
    * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
    predicate to __bulitin_unreachable.
    (set_cond_stmt_execution_predicate): Fix issue when invert_tree_comparison
    returns ERROR_MARK.
    * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
    propagate to inline clones.
    * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
    to unreachable.
    * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
    * cgraphclones.c (cgraph_clone_node): If call destination is already
    ureachable, do not redirect it back.
    * tree-inline.c (fold_marked_statements): Hanlde calls becoming
    unreachable.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr60315.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cgraph.c
    trunk/gcc/cgraphclones.c
    trunk/gcc/cif-code.def
    trunk/gcc/ipa-cp.c
    trunk/gcc/ipa-inline-analysis.c
    trunk/gcc/ipa-inline.c
    trunk/gcc/ipa-inline.h
    trunk/gcc/testsuite/ChangeLog

Reply via email to