diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-18 18:39:52 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-18 18:39:52 +0000 |
commit | 17b28e52019eff5c40389d7c25d6da967bb6f8c9 (patch) | |
tree | 605c8e1d928935149f9367d15c77d8c439de199f /gcc/ipa-reference.c | |
parent | 1eecdb280eac3d85d7d606225c14c4f99428a62c (diff) | |
download | gcc-17b28e52019eff5c40389d7c25d6da967bb6f8c9.tar.gz |
* cgraph.c (cgraph_make_edge, dump_cgraph_node, cgraph_set_call_stmt):
Set nothrow flag.
* cgraph.h (struct function): Reduce loop_nest to 30 bits; add
can_throw_external flag.
* ipa-reference.c (ipa_utils_reduced_inorder): Update call.
* ipa-pure-const.c (ignore_edge): New function.
(propagate): Compute order for NOTHROW computation; set NOTHROWs
only over can_throw_external edges.
(local_pure_const): Add nothrow flag.
* ipa-utils.c (searchc): Add ignore_edge callback.
(ipa_utils_reduced_inorder): Add ignore_edge callback.
* ipa-utils.h (ipa_utils_reduced_inorder): Update prototype.
(set_nothrow_function_flags): Update cgraph.
* tree-cfg.c (verify_stmt): Relax nothrow checking when in IPA mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146322 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-reference.c')
-rw-r--r-- | gcc/ipa-reference.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c index 6f5c751e05b..36cb5f3f5f9 100644 --- a/gcc/ipa-reference.c +++ b/gcc/ipa-reference.c @@ -995,7 +995,7 @@ propagate (void) struct cgraph_node *w; struct cgraph_node **order = XCNEWVEC (struct cgraph_node *, cgraph_n_nodes); - int order_pos = ipa_utils_reduced_inorder (order, false, true); + int order_pos = ipa_utils_reduced_inorder (order, false, true, NULL); int i; cgraph_remove_function_insertion_hook (function_insertion_hook_holder); @@ -1006,7 +1006,7 @@ propagate (void) the global information. All the nodes within a cycle will have the same info so we collapse cycles first. Then we can do the propagation in one pass from the leaves to the roots. */ - order_pos = ipa_utils_reduced_inorder (order, true, true); + order_pos = ipa_utils_reduced_inorder (order, true, true, NULL); if (dump_file) ipa_utils_print_order(dump_file, "reduced", order, order_pos); |