summaryrefslogtreecommitdiff
path: root/gcc/graphite-sese-to-poly.c
diff options
context:
space:
mode:
authorgrosser <grosser@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-30 22:06:27 +0000
committergrosser <grosser@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-30 22:06:27 +0000
commitc9ef6b0ef08751c3a3770da15d38c1ef59ee2ec0 (patch)
tree8557f4e933b1efe957ca676604b348d1e69abdc2 /gcc/graphite-sese-to-poly.c
parent83b6c9dbe59299f469b81f88a1de57609e1257f9 (diff)
downloadgcc-c9ef6b0ef08751c3a3770da15d38c1ef59ee2ec0.tar.gz
Do not abuse sese for codegeneration
CLooG automatically frees the names list, so sharing SESE_PARAMS_NAMES between gloog() and debug_generated_program() leads to freeing them twice. As both SESE_PARAM_NAMES and SESE_PARAMS_INDEX are code generation data structures remove them and the functions working on them from sese.h and put them in clast-to-gimple. 2009-11-21 Tobias Grosser <grosser@fim.uni-passau.de> * graphite-clast-to-gimple.c (clast_name_index, new_clast_name_index, clast_name_to_index, save_clast_name_index, debug_clast_name_index, debug_clast_name_indexes_1, debug_clast_name_indexes, clast_name_index_elt_info, eq_clast_name_indexes): Moved from sese.h. (clast_name_to_gcc, clast_to_gcc_expression, clast_to_gcc_expression_red, gcc_type_for_clast_expr, gcc_type_for_clast_eq, graphite_translate_clast_equation, graphite_create_guard_cond_expr, graphite_create_new_loop, translate_clast): Add params_index. (initialize_cloog_names): Create parameter strings from scratch, do not reference other strings. (create_params_index): New. (gloog): Initialize params_index. * graphite-scop-detection (free_scops_1): Removed. (limit_scops): Use normal free_scops. * graphite-sese-to-poly.c (save_var_names): Removed. (parameter_index_in_region): Do not initialize SESE_PARAM_NAMES and SESE_PARAMS_INDEX. * sese.c (new_sese, free_sese): Dito. * sese.h (struct sese): Remove params_index, params_names. (SESE_PARAMS_INDEX, SESE_PARAMS_NAMES): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154844 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-sese-to-poly.c')
-rw-r--r--gcc/graphite-sese-to-poly.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index d3a24037954..37b20354d6f 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -746,26 +746,6 @@ scan_tree_for_params_int (tree cst, ppl_Linear_Expression_t expr, Value k)
ppl_delete_Coefficient (coef);
}
-/* Saves in NV at index I a new name for variable P. */
-
-static void
-save_var_name (char **nv, int i, tree p)
-{
- const char *name = get_name (SSA_NAME_VAR (p));
-
- if (name)
- {
- int len = strlen (name) + 16;
- nv[i] = XNEWVEC (char, len);
- snprintf (nv[i], len, "%s_%d", name, SSA_NAME_VERSION (p));
- }
- else
- {
- nv[i] = XNEWVEC (char, 16);
- snprintf (nv[i], 2 + 16, "T_%d", SSA_NAME_VERSION (p));
- }
-}
-
/* When parameter NAME is in REGION, returns its index in SESE_PARAMS.
Otherwise returns -1. */
@@ -802,9 +782,6 @@ parameter_index_in_region (tree name, sese region)
gcc_assert (SESE_ADD_PARAMS (region));
i = VEC_length (tree, SESE_PARAMS (region));
- save_var_name (SESE_PARAMS_NAMES (region), i, name);
- save_clast_name_index (SESE_PARAMS_INDEX (region),
- SESE_PARAMS_NAMES (region)[i], i);
VEC_safe_push (tree, heap, SESE_PARAMS (region), name);
return i;
}