On Tue, Jan 31, 2017 at 03:52:10PM -0700, Jeff Law wrote: > Which makes your patch safe -- but introduces a non-obvious dependency > between useless_type_conversion_p and your definition of > INTEGRAL_BOOLEAN_TYPE and how it's used in the vectorizer.
The predicate is simply true for all BOOLEAN_TYPEs and all types that are compatible with it in the middle-end. BOOLEAN_TYPEs with different precisions are not considered compatible types, therefore they won't appear together without explicit casts in between. > I think if you checked for a TYPE_PRECISION of 1 in INTEGRAL_BOOLEAN_TYPE, > that would help -- but leaves INTEGRAL_BOOLEAN_TYPE poorly named. I used BOOLEAN_TYPE_P initially, INTEGRAL_BOOLEAN_TYPE_P has been Richard's suggestion on IRC. I'm fine with other names as long as it is not too long. Jakub