On the ELFv2 ABI, we need to allocate the parameter area in the stack frame only if a callee really uses it, e.g. vararg function.
However, current LLVM always allocates the parameter area conservatively. This inflate the stack size significantly.
This patch reduces the stack frame size by not allocating the parameter area if it is not required. In the current implementation LowerFormalArguments_64SVR4 already handles the parameter area, but LowerCall_64SVR4 does not (when calculating the stack frame size). What this patch does is making LowerCall_64SVR4 consistent with LowerFormalArguments_64SVR4.
The average stack frame size for the functions generated while compiling the LLVM source tree is reduced by about 50 bytes (from 182.9 byte to 133.7 byte).