The reg2mem pass only eliminates phi nodes, using the stack to pass values between basic blocks.
LLVM models a register based CPU, not a stack based one. All calculations are assumed to be performed in registers with the arguments and results loaded and stored from the stack.