Invariant load hoisted scalars, and arrays whose size we can
statically compute to be 0 do not need to be allocated as arrays.
Invariant load hoisted scalars are sent to the kernel directly as
parameters. Earlier, we used to allocate 0 bytes of memory for these.
Now, since we don't track them as arrays, this problem does not occur
anymore.