From b864417b0c4f9490e82757cf8381830adec6cefd Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 15 Aug 2013 10:55:13 +0200 Subject: [PATCH] gpu_print.c: stmt_print_global_index: call gpu_local_array_info_linearize_index That is, instead of printing a linearized expression on-the-fly, linearize the expression first and then let isl print the linearized expression. Signed-off-by: Sven Verdoolaege --- gpu_print.c | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/gpu_print.c b/gpu_print.c index 9bfaea8..dc9a7ab 100644 --- a/gpu_print.c +++ b/gpu_print.c @@ -77,7 +77,8 @@ static __isl_give isl_printer *stmt_print_global_index( { int i; struct gpu_array_info *array = stmt->u.c.array; - isl_pw_aff_list *bound = stmt->u.c.local_array->bound; + struct gpu_local_array_info *local = stmt->u.c.local_array; + isl_ast_expr *index; if (gpu_array_is_scalar(array)) { if (!array->read_only) @@ -86,27 +87,10 @@ static __isl_give isl_printer *stmt_print_global_index( return p; } - p = isl_printer_print_str(p, array->name); - p = isl_printer_print_str(p, "["); - for (i = 0; i + 1 < array->n_index; ++i) - p = isl_printer_print_str(p, "("); - for (i = 0; i < array->n_index; ++i) { - isl_ast_expr *expr; - expr = isl_ast_expr_get_op_arg(stmt->u.c.index, 1 + i); - if (i) { - isl_pw_aff *bound_i; - bound_i = isl_pw_aff_list_get_pw_aff(bound, i); - p = isl_printer_print_str(p, ") * ("); - p = isl_printer_print_pw_aff(p, bound_i); - p = isl_printer_print_str(p, ") + ("); - isl_pw_aff_free(bound_i); - } - p = isl_printer_print_ast_expr(p, expr); - if (i) - p = isl_printer_print_str(p, ")"); - isl_ast_expr_free(expr); - } - p = isl_printer_print_str(p, "]"); + index = isl_ast_expr_copy(stmt->u.c.index); + index = gpu_local_array_info_linearize_index(local, index); + p = isl_printer_print_ast_expr(p, index); + isl_ast_expr_free(index); return p; } -- 2.11.4.GIT