aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-06-06 16:36:30 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-06-06 16:36:30 +0000
commitb7657d0225ff187101d7d024603d40a149343e0e (patch)
treee1f28323acb0ed0d56d3fbb14b65e7946e30f1e1 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent780a6bf05b183ab4ec9e2f3563c6a4570f216b93 (diff)
downloadllvm-b7657d0225ff187101d7d024603d40a149343e0e.zip
llvm-b7657d0225ff187101d7d024603d40a149343e0e.tar.gz
llvm-b7657d0225ff187101d7d024603d40a149343e0e.tar.bz2
Don't try to be clever, just preserve the target's allocation order.
The order of registers returned by getCalleeSavedRegs is used to lay out the fixed stack slots for CSRs. Some targets like their CSRs used from one end, and some targets want them used from the other end. When computing an allocation order, simply preserve the relative ordering of CSRs that the target specifies in its allocation order. Reordering CSRs would break some targets, ARM in particular. We still place volatiles before the CSRs, providing slightly better results with different calling conventions. llvm-svn: 132680
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions