In C++ all variables are in default address space. Previously change has been made to cast automatic variables to default address space. However that is not sufficient since all temporary variables need to be casted to default address space.
This patch casts all temporary variables to default address space except those for passing indirect arguments since they are only used for load/store.
This patch only affects target having non-zero alloca address space.