diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-26 02:11:57 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-26 02:11:57 +0000 |
commit | 5a7ad25306b167d5b9a494a776aef7df1ec2412c (patch) | |
tree | 58c27722a6391d91e8bbfcb902c1edc28e754d14 /gcc/cif-code.def | |
parent | ce2d198d93cf01609d4d18ce934efacc0cf21b5b (diff) | |
download | gcc-5a7ad25306b167d5b9a494a776aef7df1ec2412c.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208831 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cif-code.def')
-rw-r--r-- | gcc/cif-code.def | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cif-code.def b/gcc/cif-code.def index 71f3e39a6da..ce64d96b690 100644 --- a/gcc/cif-code.def +++ b/gcc/cif-code.def @@ -127,3 +127,7 @@ DEFCIFCODE(USES_COMDAT_LOCAL, CIF_FINAL_NORMAL, /* We can't inline because of mismatched caller/callee attributes. */ DEFCIFCODE(ATTRIBUTE_MISMATCH, CIF_FINAL_NORMAL, N_("function attribute mismatch")) + +/* We proved that the call is unreachable. */ +DEFCIFCODE(UNREACHABLE, CIF_FINAL_NORMAL, + N_("unreachable")) |