From: spop Date: Wed, 2 Jun 2010 16:39:47 +0000 (+0000) Subject: Use smallest_mode_for_size for computing the precision types of new graphite IVs. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d23456ee6e7a65946ccc7fefd7f6f45b1bfb3c24;p=thirdparty%2Fgcc.git Use smallest_mode_for_size for computing the precision types of new graphite IVs. 2010-06-02 Sebastian Pop * graphite-clast-to-gimple.c (gcc_type_for_interval): Use smallest_mode_for_size for computing the precision types of new graphite IVs. Do not call lang_hooks.types.type_for_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160165 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de6cb5b76eb6..915aa2d4b5bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-06-02 Sebastian Pop + + * graphite-clast-to-gimple.c (gcc_type_for_interval): Use + smallest_mode_for_size for computing the precision types of new + graphite IVs. Do not call lang_hooks.types.type_for_size. + 2010-06-02 Sebastian Pop * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index b0e1a94bc25d..3240c37f8cf4 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -478,6 +478,7 @@ gcc_type_for_interval (mpz_t low, mpz_t up, tree old_type) bool unsigned_p = true; int precision, prec_up, prec_int; tree type; + enum machine_mode mode; gcc_assert (value_le (low, up)); @@ -490,7 +491,16 @@ gcc_type_for_interval (mpz_t low, mpz_t up, tree old_type) prec_int = precision_for_interval (low, up); precision = prec_up > prec_int ? prec_up : prec_int; - type = lang_hooks.types.type_for_size (precision, unsigned_p); + if (precision > BITS_PER_WORD) + { + gloog_error = true; + return integer_type_node; + } + + mode = smallest_mode_for_size (precision, MODE_INT); + precision = GET_MODE_PRECISION (mode); + type = build_nonstandard_integer_type (precision, unsigned_p); + if (!type) { gloog_error = true;