]> gcc.gnu.org Git - gcc.git/commit - gcc/ipa-inline.h
re PR ipa/60315 (template constructor switch optimization)
authorJan Hubicka <hubicka@ucw.cz>
Wed, 26 Mar 2014 02:11:57 +0000 (03:11 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 26 Mar 2014 02:11:57 +0000 (02:11 +0000)
commit9de6f6c3eed463e8c41b95a28ad7f2186e379fff
tree58c27722a6391d91e8bbfcb902c1edc28e754d14
parentd7636f5609dc4325d145b82adc9dd977d079303e
re PR ipa/60315 (template constructor switch optimization)

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.

From-SVN: r208831
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraphclones.c
gcc/cif-code.def
gcc/ipa-cp.c
gcc/ipa-inline-analysis.c
gcc/ipa-inline.c
gcc/ipa-inline.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr60315.C [new file with mode: 0644]
This page took 0.056845 seconds and 5 git commands to generate.