Second part of https://bugs.llvm.org/show_bug.cgi?id=40442.
I've added an UnrollVectorOverflowOp method on SelectionDAG that follows the existing UnrollVectorOp method, but maybe that's too specific and should just be a private helper for the TargetLowering expansion code?
This needs fixing right away as a separate commit - we should be using getShiftAmountTy. I'm happy for you to use getScalarSizeInBits straight away as well.