diff options
author | Richard Biener <rguenther@suse.de> | 2017-10-06 07:06:17 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-10-06 07:06:17 +0000 |
commit | bd8d431f44377efe110b02163d693e60421acdeb (patch) | |
tree | 9f466b7e6ad425f1e3c4ebe0ce5cfca37581f726 /gcc/sese.h | |
parent | 57cfa172280fd4a79a1d4120b69054457100af94 (diff) |
graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
2017-10-06 Richard Biener <rguenther@suse.de>
* graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
(translate_isl_ast_to_gimple::translate_pending_phi_nodes,
translate_isl_ast_to_gimple::is_valid_rename,
translate_isl_ast_to_gimple::get_rename,
translate_isl_ast_to_gimple::get_def_bb_for_const,
translate_isl_ast_to_gimple::get_new_name,
translate_isl_ast_to_gimple::collect_all_ssa_names,
translate_isl_ast_to_gimple::copy_loop_phi_args,
translate_isl_ast_to_gimple::collect_all_ssa_names,
translate_isl_ast_to_gimple::copy_loop_phi_args,
translate_isl_ast_to_gimple::copy_loop_phi_nodes,
translate_isl_ast_to_gimple::add_close_phis_to_merge_points,
translate_isl_ast_to_gimple::add_close_phis_to_outer_loops,
translate_isl_ast_to_gimple::copy_loop_close_phi_args,
translate_isl_ast_to_gimple::copy_loop_close_phi_nodes,
translate_isl_ast_to_gimple::copy_cond_phi_args,
translate_isl_ast_to_gimple::copy_cond_phi_nodes,
translate_isl_ast_to_gimple::edge_for_new_close_phis,
translate_isl_ast_to_gimple::add_phi_arg_for_new_expr,
translate_isl_ast_to_gimple::rename_uses,
translate_isl_ast_to_gimple::rename_all_uses): Remove.
(translate_isl_ast_to_gimple::get_rename_from_scev): Simplify.
(set_rename_for_each_def): Likewise.
(graphite_copy_stmts_from_block): Handle debug stmt resetting
here. Handle rewriting SCEV analyzable uses here.
(copy_bb_and_scalar_dependences): Generate code for PHI
copy-in/outs.
(graphite_regenerate_ast_isl): Adjust.
* graphite-scop-detection.c (trivially_empty_bb_p): Move to sese.[ch].
(add_write, add_read): New functions.
(build_cross_bb_scalars_def): Use it and simplify.
(build_cross_bb_scalars_use): Likewise.
(graphite_find_cross_bb_scalar_vars): Inline into...
(try_generate_gimple_bb): ...here. Add dependences for PHIs,
simulating out-of-SSA. Compute liveout and add dependencies.
(build_scops): Force an empty entry block.
* sese.h (sese_info_t::liveout, sese_info_t::debug_liveout): New
members.
(sese_build_liveouts): Declare.
(sese_trivially_empty_bb_p): Likewise.
* sese.c (sese_build_liveouts_bb): Properly handle PHIs,
compute liveout and debug_liveout.
(sese_bad_liveouts_use): Remove.
(sese_reset_debug_liveouts_bb): Likewise.
(sese_reset_debug_liveouts): Rewrite in terms of debug_liveout.
(sese_build_liveouts): Build liveout and debug_liveout and store
it in region.
(new_sese_info): Adjust.
(free_sese_info): Likewise.
(sese_insert_phis_for_liveouts): Reset debug stmts from here,
do not build liveout here.
(move_sese_in_condition): Adjust region entry.
(scev_analyzable_p): Match up with chrec_apply requirements.
(sese_trivially_empty_bb_p): New.
* tree-into-ssa.c (get_reaching_def): Properly support generating
default-defs for incremental rewrite of anonymous names.
* gcc.dg/graphite/id-15.c: No longer expect a code generation error.
* gcc.dg/graphite/id-16.c: Likewise.
* gcc.dg/graphite/pr46168.c: Likewise.
* gcc.dg/graphite/pr68756.c: Likewise.
* gcc.dg/graphite/pr69728.c: Likewise.
* gcc.dg/graphite/pr71575-2.c: Likewise.
* gcc.dg/graphite/pr77362.c: Likewise.
* gcc.dg/graphite/pr81373.c: Likewise.
* gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
* gfortran.dg/graphite/interchange-1.f: Likewise.
* gfortran.dg/graphite/pr42334-1.f: Likewise.
* gfortran.dg/graphite/pr42393-1.f90: Likewise.
* gfortran.dg/graphite/pr42393.f90: Likewise.
* gfortran.dg/graphite/pr47019.f: Likewise.
* gfortran.dg/graphite/id-17.f: Likewise.
* gfortran.dg/graphite/id-19.f: Likewise.
* gfortran.dg/graphite/run-id-2.f90: Likewise.
* gfortran.dg/graphite/pr42326-1.f90: Likewise.
* gfortran.dg/graphite/pr42326.f90: Likewise.
* gfortran.dg/graphite/pr68550-2.f90: Likewise.
* gfortran.dg/graphite/pr29581.f90: Likewise. No longer expect
a code generation error.
* gfortran.dg/graphite/run-id-3.f90: Likewise.
* gfortran.dg/graphite/pr29832.f90: Likewise.
From-SVN: r253475
Diffstat (limited to 'gcc/sese.h')
-rw-r--r-- | gcc/sese.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/sese.h b/gcc/sese.h index f1371ee9d35..190deeda8af 100644 --- a/gcc/sese.h +++ b/gcc/sese.h @@ -83,6 +83,12 @@ typedef struct sese_info_t /* The SESE region. */ sese_l region; + /* Liveout vars. */ + bitmap liveout; + + /* Liveout in debug stmts. */ + bitmap debug_liveout; + /* Parameters used within the SCOP. */ vec<tree> params; @@ -116,6 +122,8 @@ extern struct loop *outermost_loop_in_sese (sese_l &, basic_block); extern tree scalar_evolution_in_region (const sese_l &, loop_p, tree); extern bool scev_analyzable_p (tree, sese_l &); extern bool invariant_in_sese_p_rec (tree, const sese_l &, bool *); +extern void sese_build_liveouts (sese_info_p); +extern bool sese_trivially_empty_bb_p (basic_block); /* The number of parameters in REGION. */ |