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.