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.