summaryrefslogtreecommitdiff
path: root/gcc/sese.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-10-06 07:06:17 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-10-06 07:06:17 +0000
commitbd8d431f44377efe110b02163d693e60421acdeb (patch)
tree9f466b7e6ad425f1e3c4ebe0ce5cfca37581f726 /gcc/sese.h
parent57cfa172280fd4a79a1d4120b69054457100af94 (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.h8
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. */