diff options
author | jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-30 13:06:52 +0000 |
---|---|---|
committer | jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-30 13:06:52 +0000 |
commit | ba3a7ba09d49083f5a2cd9284aa249993a705b21 (patch) | |
tree | a998017d535126ebe28c42696a5e141a4c23b459 /gcc/omp-low.c | |
parent | a3cad4e45e03b201be558abc0b2d7e3d974491f6 (diff) | |
download | gcc-ba3a7ba09d49083f5a2cd9284aa249993a705b21.tar.gz |
2009-03-30 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (jump_func_type): Rename IPA_UNKNOWN, IPA_CONST,
IPA_CONST_MEMBER_PTR, and IPA_PASS_THROUGH to IPA_JF_UNKNOWN,
IPA_JF_CONST, IPA_JF_CONST_MEMBER_PTR, and IPA_JF_PASS_THROUGH
respectively.
* tree-dfa.c (get_ref_base_and_extent): Return -1 maxsize if
seen_variable_array_ref while also traversing a union.
* tree-inline.c (optimize_inline_calls): Do not call
cgraph_node_remove_callees.
* cgraphbuild.c (remove_cgraph_callee_edges): New function.
(pass_remove_cgraph_callee_edges): New variable.
* passes.c (init_optimization_passes): Add
pass_remove_cgraph_callee_edges after early inlining and before all
late intraprocedural passes.
* omp-low.c (expand_omp_taskreg): Always set current_function_decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145291 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r-- | gcc/omp-low.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c index c56915f6546..40658760d38 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -3244,6 +3244,7 @@ expand_omp_taskreg (struct omp_region *region) basic_block entry_bb, exit_bb, new_bb; struct function *child_cfun; tree child_fn, block, t, ws_args, *tp; + tree save_current; gimple_stmt_iterator gsi; gimple entry_stmt, stmt; edge e; @@ -3429,6 +3430,8 @@ expand_omp_taskreg (struct omp_region *region) /* Fix the callgraph edges for child_cfun. Those for cfun will be fixed in a following pass. */ push_cfun (child_cfun); + save_current = current_function_decl; + current_function_decl = child_fn; if (optimize) optimize_omp_library_calls (entry_stmt); rebuild_cgraph_edges (); @@ -3440,16 +3443,14 @@ expand_omp_taskreg (struct omp_region *region) if (flag_exceptions) { basic_block bb; - tree save_current = current_function_decl; bool changed = false; - current_function_decl = child_fn; FOR_EACH_BB (bb) changed |= gimple_purge_dead_eh_edges (bb); if (changed) cleanup_tree_cfg (); - current_function_decl = save_current; } + current_function_decl = save_current; pop_cfun (); } |