Currently, we remove all ScopArrayInfo base pointers from SubtreeValues.
We do this on the assumption that if an array is used, it will be passed
by the relevant ScopArrayInfo in
createKernelFunction/createKernelFunctionDecl.
However, there can be operations on a base pointer that we _do not
model_, eg. ptrtoint.
This will lead to incorrect code generation since we blindly copy
instructions using BlockGenerator. When BlockGenerator tries to clone
the ptrtoint instruction, It will create a kernel-to-host reference
which will cause us to fail verify.
Please don't hardcode unnamed registers!