Commit 9f9f72aa by Antoniu Pop Committed by Antoniu Pop

tree-parloops.c (take_address_of, [...]): Make them work on a region of code…

tree-parloops.c (take_address_of, [...]): Make them work on a region of code delimited by two edges in the CFG.

2008-04-22  Antoniu Pop  <antoniu.pop@gmail.com>
            Sebastian Pop  <sebastian.pop@amd.com>

	* tree-parloops.c (take_address_of, eliminate_local_variables_1,
	eliminate_local_variables_stmt, eliminate_local_variables,
	separate_decls_in_loop_name, separate_decls_in_loop_stmt,
	separate_decls_in_loop, gen_parallel_loop): Make them work on a region
	of code delimited by two edges in the CFG.
	(separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
	(separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
	(separate_decls_in_loop): Renamed separate_decls_in_region.  Isolate 
	the case of parallelisation of reductions.
	(expr_invariant_in_region_p): New.

	* tree-flow.h (gather_blocks_in_sese_region): Declared.
	* tree-cfg.c (gather_blocks_in_sese_region): Extern.


Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>

From-SVN: r134632
parent 601e3332
2008-04-22 Antoniu Pop <antoniu.pop@gmail.com>
Sebastian Pop <sebastian.pop@amd.com>
* tree-parloops.c (take_address_of, eliminate_local_variables_1,
eliminate_local_variables_stmt, eliminate_local_variables,
separate_decls_in_loop_name, separate_decls_in_loop_stmt,
separate_decls_in_loop, gen_parallel_loop): Make them work on a region
of code delimited by two edges in the CFG.
(separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
(separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
(separate_decls_in_loop): Renamed separate_decls_in_region. Isolate
the case of parallelisation of reductions.
(expr_invariant_in_region_p): New.
* tree-flow.h (gather_blocks_in_sese_region): Declared.
* tree-cfg.c (gather_blocks_in_sese_region): Extern.
2008-04-24 Ira Rosen <irar@il.ibm.com> 2008-04-24 Ira Rosen <irar@il.ibm.com>
Richard Guenther <rguenther@suse.de> Richard Guenther <rguenther@suse.de>
......
...@@ -5505,7 +5505,7 @@ DEF_VEC_ALLOC_P(basic_block,heap); ...@@ -5505,7 +5505,7 @@ DEF_VEC_ALLOC_P(basic_block,heap);
adding blocks when the dominator traversal reaches EXIT. This adding blocks when the dominator traversal reaches EXIT. This
function silently assumes that ENTRY strictly dominates EXIT. */ function silently assumes that ENTRY strictly dominates EXIT. */
static void void
gather_blocks_in_sese_region (basic_block entry, basic_block exit, gather_blocks_in_sese_region (basic_block entry, basic_block exit,
VEC(basic_block,heap) **bbs_p) VEC(basic_block,heap) **bbs_p)
{ {
......
...@@ -771,6 +771,8 @@ extern bool tree_duplicate_sese_region (edge, edge, basic_block *, unsigned, ...@@ -771,6 +771,8 @@ extern bool tree_duplicate_sese_region (edge, edge, basic_block *, unsigned,
basic_block *); basic_block *);
extern bool tree_duplicate_sese_tail (edge, edge, basic_block *, unsigned, extern bool tree_duplicate_sese_tail (edge, edge, basic_block *, unsigned,
basic_block *); basic_block *);
extern void gather_blocks_in_sese_region (basic_block entry, basic_block exit,
VEC(basic_block,heap) **bbs_p);
extern void add_phi_args_after_copy_bb (basic_block); extern void add_phi_args_after_copy_bb (basic_block);
extern void add_phi_args_after_copy (basic_block *, unsigned, edge); extern void add_phi_args_after_copy (basic_block *, unsigned, edge);
extern bool tree_purge_dead_abnormal_call_edges (basic_block); extern bool tree_purge_dead_abnormal_call_edges (basic_block);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment