On Wed, 18 May 2011, Eric Botcazou wrote:

> >     * tree-ssa.c (useless_type_conversion_p): Preserve conversions
> >     to non-1-precision BOOLEAN_TYPEs.
> 
> This looks like overeager if you're allowing non-boolean types in tree-cfg.c.
> The conversion can be stripped if the source type has precision 1, can't it?

That's true, though in that case the previous

      /* Preserve changes in signedness or precision.  */
      if (TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type)
          || TYPE_PRECISION (inner_type) != TYPE_PRECISION (outer_type))
        return false;

check would have preserved the conversion already (or the BOOLEAN_TYPEs
precision is 1 as well).  Thus, we preserved such conversions already
in the past.

Richard.

Reply via email to