diff options
author | Richard Biener <rguenther@suse.de> | 2017-10-18 08:30:45 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-10-18 08:30:45 +0000 |
commit | 04612f7f8452021ad4eba08f03bc98b196753330 (patch) | |
tree | 62314482e178f8db8eec6b7301b05cdc5185a578 /gcc/graphite-scop-detection.c | |
parent | de57059efaaa117561a631e26a47b67eae1943bb (diff) | |
download | gcc-04612f7f8452021ad4eba08f03bc98b196753330.zip gcc-04612f7f8452021ad4eba08f03bc98b196753330.tar.gz gcc-04612f7f8452021ad4eba08f03bc98b196753330.tar.bz2 |
graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): Simplify with removal of the parameter rename map.
2017-10-18 Richard Biener <rguenther@suse.de>
* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
Simplify with removal of the parameter rename map.
(set_rename): Likewise.
(should_copy_to_new_region): Likewise.
(graphite_copy_stmts_from_block): Likewise.
(copy_bb_and_scalar_dependences): Remove initialization of
unused copied_bb_map.
(copy_def): Remove.
(copy_internal_parameters): Likewise.
(graphite_regenerate_ast_isl): Do not call copy_internal_parameters.
* graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p):
Use INTEGRAL_TYPE_P.
(parameter_index_in_region_1): Rename to ...
(assign_parameter_index_in_region): ... this. Assert we have
a parameter we handle.
(scan_tree_for_params): Adjust.
* sese.h (parameter_rename_map_t): Remove.
(struct sese_info_t): Remove unused parameter_rename_map and
copied_bb_map members.
* sese.c (new_sese_info): Adjust.
(free_sese_info): Likewise.
From-SVN: r253847
Diffstat (limited to 'gcc/graphite-scop-detection.c')
-rw-r--r-- | gcc/graphite-scop-detection.c | 46 |
1 files changed, 10 insertions, 36 deletions
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index a8963e1..c236556 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -1103,7 +1103,7 @@ scop_detection::stmt_simple_for_scop_p (sese_l scop, gimple *stmt, tree op = gimple_op (stmt, i); if (!graphite_can_represent_expr (scop, loop, op) /* We can only constrain on integer type. */ - || (TREE_CODE (TREE_TYPE (op)) != INTEGER_TYPE)) + || ! INTEGRAL_TYPE_P (TREE_TYPE (op))) { DEBUG_PRINT (dp << "[scop-detection-fail] " << "Graphite cannot represent stmt:\n"; @@ -1146,49 +1146,23 @@ scop_detection::nb_pbbs_in_loops (scop_p scop) return res; } -/* When parameter NAME is in REGION, returns its index in SESE_PARAMS. - Otherwise returns -1. */ +/* Assigns the parameter NAME an index in REGION. */ -static inline int -parameter_index_in_region_1 (tree name, sese_info_p region) +static void +assign_parameter_index_in_region (tree name, sese_info_p region) { + gcc_assert (TREE_CODE (name) == SSA_NAME + && INTEGRAL_TYPE_P (TREE_TYPE (name)) + && ! defined_in_sese_p (name, region->region)); + int i; tree p; - - gcc_assert (TREE_CODE (name) == SSA_NAME); - FOR_EACH_VEC_ELT (region->params, i, p) if (p == name) - return i; - - return -1; -} - -/* When the parameter NAME is in REGION, returns its index in - SESE_PARAMS. Otherwise this function inserts NAME in SESE_PARAMS - and returns the index of NAME. */ - -static int -parameter_index_in_region (tree name, sese_info_p region) -{ - int i; - - gcc_assert (TREE_CODE (name) == SSA_NAME); - - /* Cannot constrain on anything else than INTEGER_TYPE parameters. */ - if (TREE_CODE (TREE_TYPE (name)) != INTEGER_TYPE) - return -1; - - if (!invariant_in_sese_p_rec (name, region->region, NULL)) - return -1; - - i = parameter_index_in_region_1 (name, region); - if (i != -1) - return i; + return; i = region->params.length (); region->params.safe_push (name); - return i; } /* In the context of sese S, scan the expression E and translate it to @@ -1230,7 +1204,7 @@ scan_tree_for_params (sese_info_p s, tree e) break; case SSA_NAME: - parameter_index_in_region (e, s); + assign_parameter_index_in_region (e, s); break; case INTEGER_CST: |