From 2505c5edcac3fbc0a39ad74c63bab1534ee6e491 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 18 Apr 2009 20:39:52 +0200 Subject: cgraph.c (cgraph_make_edge, [...]): Set nothrow flag. * 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. From-SVN: r146322 --- gcc/ipa-reference.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/ipa-reference.c') diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c index 6f5c751..36cb5f3 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); -- cgit v1.1