When a variable is simple type and has 64 bits, the debug info may look like the following when targeting 32bit windows. The variable's content is split into two 32bits registers.
480 | S_LOCAL [size = 12] `x` type=0x0013 (__int64), flags = param 492 | S_DEFRANGE_SUBFIELD_REGISTER [size = 20] register = EAX, may have no name = true, offset in parent = 0 range = [0001:0073,+7), gaps = [] 512 | S_DEFRANGE_SUBFIELD_REGISTER [size = 20] register = ECX, may have no name = true, offset in parent = 4 range = [0001:0073,+7), gaps = []
I think SmallVectorImpl is still the official way to take SmallVector references.