isIntegerType and isIntegralType are very confusingly named, and I
think most of the places that currently call isIntegerType actually
want to be calling isIntegralType. Some cleanup here is definitely
needed. I have a patch that changes most of the uses of isIntegerType
to isIntegralType when it is appropriate; should I commit that? Or
should one of these methods be renamed?
Since it isn't entirely obvious, the difference is that isIntegerType
includes vector types, which aren't appropriate in a lot of places,
like array indexing and case statements.