From: Aditya Kumar Date: Wed, 15 Jul 2015 21:36:49 +0000 (+0000) Subject: graphite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4bc4dd11ec8c7be528abcb75a1af715d715b4835;p=gcc.git graphite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters. * graphite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters. (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and VECTOR_CST in scan_tree_for_params. (add_conditions_to_domain): Only constrain on INTEGER_TYPE. Co-Authored-By: Sebastian Pop From-SVN: r225848 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 583309f42da..52110ee9c9e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-07-15 Aditya Kumar + Sebastian Pop + + * graphite-sese-to-poly.c (parameter_index_in_region): Only handle + INTEGER_TYPE parameters. + (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and + VECTOR_CST in scan_tree_for_params. + (add_conditions_to_domain): Only constrain on INTEGER_TYPE. + 2015-07-15 Andrew MacLeod * gimple-pretty-print.h: Don't include pretty-print.h. diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 506424799e5..ffc948fd0b7 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -762,6 +762,10 @@ parameter_index_in_region (tree name, sese region) 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; + i = parameter_index_in_region_1 (name, region); if (i != -1) return i; @@ -887,6 +891,9 @@ scan_tree_for_params (sese s, tree e) case INTEGER_CST: case ADDR_EXPR: + case REAL_CST: + case COMPLEX_CST: + case VECTOR_CST: break; default: @@ -1166,6 +1173,10 @@ add_conditions_to_domain (poly_bb_p pbb) { case GIMPLE_COND: { + /* Don't constrain on anything else than INTEGER_TYPE. */ + if (TREE_CODE (TREE_TYPE (gimple_cond_lhs (stmt))) != INTEGER_TYPE) + break; + gcond *cond_stmt = as_a (stmt); enum tree_code code = gimple_cond_code (cond_stmt);