This includes the base IR changes, and some tests for places where it
should be treated similarly to byval. Codegen support will be in a
future patch.
I realized I do need the type, in the case of pointers. I need to know
the address space of pointer arguments (and the alignment of the
pointee, but that is one of the gaps that would need to be fixed to
only use byref parameters for kernels).
Nit: Comment is broken, I think. Maybe just: If hasPoint... returns true, the in-memory ABI type is returned, otherwise nullptr.