Compute correct frame sizes for SPARC v9 64-bit frames.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 9 Apr 2013 04:37:47 +0000 (04:37 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 9 Apr 2013 04:37:47 +0000 (04:37 +0000)
commit2cfe46fd34158610e8456b7f894bdd5574f0eaee
treeacbfa814362178c9fa190b66cc3f661d9845b05e
parent54d770cb1fedf23466eb75e7f34fa561e8d63d23
Compute correct frame sizes for SPARC v9 64-bit frames.

The save area is twice as big and there is no struct return slot. The
stack pointer is always 16-byte aligned (after adding the bias).

Also eliminate the stack adjustment instructions around calls when the
function has a reserved stack frame.

llvm-svn: 179083
llvm/lib/Target/Sparc/SparcFrameLowering.cpp
llvm/lib/Target/Sparc/SparcFrameLowering.h
llvm/lib/Target/Sparc/SparcISelLowering.cpp
llvm/test/CodeGen/SPARC/64abi.ll