diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2011-07-21 22:57:30 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2011-07-21 22:57:30 +0000 |
commit | 12b30e6daea5c44df6cc3b9d6f03f9b11887e52a (patch) | |
tree | b90a732adab7578902e19e0f4f3c4a17a500080b /gcc | |
parent | 0cdd9dcf76f043a42bd36895edd9f9655d60fe8d (diff) | |
download | gcc-12b30e6daea5c44df6cc3b9d6f03f9b11887e52a.zip gcc-12b30e6daea5c44df6cc3b9d6f03f9b11887e52a.tar.gz gcc-12b30e6daea5c44df6cc3b9d6f03f9b11887e52a.tar.bz2 |
Remove max_signed_precision_type.
2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (max_signed_precision_type): Removed.
(max_precision_type): Inline max_signed_precision_type.
(type_for_clast_red): Use max_precision_type.
(type_for_clast_bin): Same.
(type_for_clast_for): Same.
From-SVN: r176602
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/graphite-clast-to-gimple.c | 51 |
2 files changed, 30 insertions, 29 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ebc795..7d2ed0d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2011-07-21 Sebastian Pop <sebastian.pop@amd.com> + * graphite-clast-to-gimple.c (max_signed_precision_type): Removed. + (max_precision_type): Inline max_signed_precision_type. + (type_for_clast_red): Use max_precision_type. + (type_for_clast_bin): Same. + (type_for_clast_for): Same. + +2011-07-21 Sebastian Pop <sebastian.pop@amd.com> + * graphite-clast-to-gimple.c (gcc_type_for_interval): Renamed type_for_interval. (gcc_type_for_value): Renamed type_for_value. diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index b1d682a..495b0b7 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -206,16 +206,27 @@ clast_name_to_gcc (clast_name_p name, ivs_params_p ip) return VEC_index (tree, *(ip->newivs), index); } -/* Returns the signed maximal precision type for expressions TYPE1 and TYPE2. */ +/* Returns the maximal precision type for expressions TYPE1 and TYPE2. */ static tree -max_signed_precision_type (tree type1, tree type2) +max_precision_type (tree type1, tree type2) { - int p1 = TYPE_PRECISION (type1); - int p2 = TYPE_PRECISION (type2); - int precision; - tree type; enum machine_mode mode; + int p1, p2, precision; + tree type; + + if (POINTER_TYPE_P (type1)) + return type1; + + if (POINTER_TYPE_P (type2)) + return type2; + + if (TYPE_UNSIGNED (type1) + && TYPE_UNSIGNED (type2)) + return TYPE_PRECISION (type1) > TYPE_PRECISION (type2) ? type1 : type2; + + p1 = TYPE_PRECISION (type1); + p2 = TYPE_PRECISION (type2); if (p1 > p2) precision = TYPE_UNSIGNED (type1) ? p1 * 2 : p1; @@ -241,24 +252,6 @@ max_signed_precision_type (tree type1, tree type2) return type; } -/* Returns the maximal precision type for expressions TYPE1 and TYPE2. */ - -static tree -max_precision_type (tree type1, tree type2) -{ - if (POINTER_TYPE_P (type1)) - return type1; - - if (POINTER_TYPE_P (type2)) - return type2; - - if (!TYPE_UNSIGNED (type1) - || !TYPE_UNSIGNED (type2)) - return max_signed_precision_type (type1, type2); - - return TYPE_PRECISION (type1) > TYPE_PRECISION (type2) ? type1 : type2; -} - static tree clast_to_gcc_expression (tree, struct clast_expr *, ivs_params_p); @@ -473,8 +466,8 @@ type_for_clast_red (struct clast_reduction *r, ivs_params_p ip) case clast_red_max: type = type_for_clast_expr (r->elts[0], ip); for (i = 1; i < r->n; i++) - type = max_precision_type (type, type_for_clast_expr - (r->elts[i], ip)); + type = max_precision_type + (type, type_for_clast_expr (r->elts[i], ip)); return type; @@ -493,7 +486,7 @@ type_for_clast_bin (struct clast_binary *b, ivs_params_p ip) { tree l = type_for_clast_expr ((struct clast_expr *) b->LHS, ip); tree r = type_for_value (b->RHS); - return max_signed_precision_type (l, r); + return max_precision_type (l, r); } /* Returns the type for the CLAST expression E when used in statement @@ -688,8 +681,8 @@ type_for_clast_for (struct clast_for *stmt_for, int level, tree lb_type = type_for_clast_expr (stmt_for->LB, ip); tree ub_type = type_for_clast_expr (stmt_for->UB, ip); - return max_signed_precision_type (lb_type, max_precision_type - (ub_type, type_for_level (pbb, level))); + return max_precision_type + (lb_type, max_precision_type (ub_type, type_for_level (pbb, level))); } /* Creates a new LOOP corresponding to Cloog's STMT. Inserts an |