LV never had an ability to convert FP primary induction to INT primary induction, but it has been lacking an appropriate safety check.
Whether it's legal to convert FP primary induction to INT primary induction and if so under what conditions are debatable, but bailing
out when it's not proven safe (and currently never proven to be safe as far as LV's existing code is concerned) is a valid thing to do.
The bug may be introduced (or exposed depending on how you see it) by FP induction support ( approx. 2yrs ago?).
In pr37515, Ayal suggested going just "if (!WidestIndTy)". I agree.
He also suggested adding an assert for non-NULL IdxTy in the following place. Also makes sense.
This line in InnerLoopVectorizer::getOrCreateTripCount():