Get the argument register and ensure there's a copy to the virtual
register. AMDGPU and AArch64 have similarish code to get the livein
value, and I also want to use this in multiple places.
This is a bit more aggressive about setting the register class than
the original function, but that's probably OK.
I think we're missing a few verifier checks for function live ins. I
noticed AArch64's calling convention code is not actually adding
liveins to functions, only the entry block (which apparently might
not matter that much?). There should probably be a verifier
check that entry block live ins are also live into the function. We
also might need a verifier check that the copy to the livein virtual
register is in the entry block.
Should this be RegTy to match Utils.h?
(Or should it be Ty in Utils.h?)