On 24/09/15 08:23, Thomas Schwinge wrote:
Hi Tom!
On Tue, 11 Aug 2015 20:53:39 +0200, Tom de Vries <tom_devr...@mentor.com> wrote:
Don't create superfluous parm in expand_omp_taskreg
2015-08-11 Tom de Vries <t...@codesourcery.com>
* omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
parm_decl, rather than generating a dummy default def in cfun.
* tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
ssa_name from cfun and child_fn do not share a stmt as def stmt.
(move_stmt_op): Handle PARM_DECl.
(gather_ssa_name_hash_map_from): New function.
(move_sese_region_to_fn): Add default defs for function params, and add
them to vars_map. Release copied ssa names.
* tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
Do I understand correct that with this change present on trunk (which I'm
currently merging into gomp-4_0-branch), the changes you've earlier done
on gomp-4_0-branch to gcc/omp-low.c:release_dangling_ssa_names,
gcc/tree-cfg.c:replace_ssa_name, should now be reverted? That is, how
much of the following patches can be reverted now (listed backwards in
time)?
Hi Thomas,
indeed, in the above commit we release the dangling ssa names in
move_sese_region_to_fn. So after committing this patch to the
gomp-4_0-branch, the call to release_dangling_ssa_names is no longer
necessary, and the function release_dangling_ssa_names can be removed.
Thanks,
- Tom
commit 6befb84f4c0157a4cdf66cfaf64e457180f9a7fa
Author: vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed Aug 5 06:01:08 2015 +0000
Fix release_dangling_ssa_names
2015-08-05 Tom de Vries <t...@codesourcery.com>
* omp-low.c (release_dangling_ssa_names): Release SSA_NAMEs with NULL
def stmt.
* tree-cfg.c (replace_ssa_name): Don't move default def nops. Set def
stmt of unused SSA_NAME to NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@226608
138bc75d-0d04-0410-961f-82ee72b054a4
commit 0cf67438bd87e5a6ec063e90da0ea20801bda54c
Author: vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Jun 4 15:47:09 2015 +0000
Add release_dangling_ssa_names
2015-06-04 Tom de Vries <t...@codesourcery.com>
* omp-low.c (release_dangling_ssa_names): Factor out of ...
(pass_expand_omp_ssa::execute): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@224130
138bc75d-0d04-0410-961f-82ee72b054a4
commit 93557ac5e30c26ee1a3d1255e31265b287171a0d
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Apr 21 19:37:19 2015 +0000
Expand oacc kernels after pass_fre
gcc/
* omp-low.c: Include gimple-pretty-print.h.
(release_first_vuse_in_edge_dest): New function.
(expand_omp_target): When not in ssa, don't split off oacc kernels
region, clear PROP_gimple_eomp in cfun->curr_properties to force later
expanssion, and add GOACC_kernels_internal call.
When in ssa, split off oacc kernels and convert GOACC_kernels_internal
into GOACC_kernels call. Handle ssa-code.
(pass_data_expand_omp): Don't set PROP_gimple_eomp unconditionally in
properties_provided field.
(pass_expand_omp::execute): Set PROP_gimple_eomp in
cfun->curr_properties tentatively.
(pass_data_expand_omp_ssa): Add TODO_remove_unused_locals to
todo_flags_finish field.
(pass_expand_omp_ssa::execute): Release dangling SSA_NAMEs after
calling
execute_expand_omp.
(gimple_stmt_ssa_operand_references_var_p)
(gimple_stmt_omp_data_i_init_p): New function.
* omp-low.h (gimple_stmt_omp_data_i_init_p): Declare.
* passes.def: Add pass_expand_omp_ssa after pass_fre. Add
pass_expand_omp_ssa after pass_all_early_optimizations.
* tree-ssa-ccp.c: Include omp-low.h.
(surely_varying_stmt_p, ccp_visit_stmt): Handle .omp_data_i init
conservatively.
* tree-ssa-forwprop.c: Include omp-low.h.
(pass_forwprop::execute): Handle .omp_data_i init conservatively.
* tree-ssa-sccvn.c: Include omp-low.h.
(visit_use): Handle .omp_data_i init conservatively.
* cgraph.c (cgraph_node::release_body): Don't release offloadable
functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@222279
138bc75d-0d04-0410-961f-82ee72b054a4
Grüße,
Thomas