Alloca always returns a pointer in alloca address space, which may
be different from the type defined by the language. For example,
in C++ the auto variables are in the default address space. Therefore
cast alloca to the expected address space when necessary.
Depends on https://reviews.llvm.org/D32977
Shouldn't this be 0 ?