mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-13 23:20:41 +00:00
Add some comments to clarify things that I discovered this week.
llvm-svn: 82773
This commit is contained in:
parent
827ef5a368
commit
c5784025af
@ -1151,6 +1151,7 @@ emitPrologue(MachineFunction &MF) const {
|
|||||||
unsigned GPRCS1Size = 0, GPRCS2Size = 0, DPRCSSize = 0;
|
unsigned GPRCS1Size = 0, GPRCS2Size = 0, DPRCSSize = 0;
|
||||||
int FramePtrSpillFI = 0;
|
int FramePtrSpillFI = 0;
|
||||||
|
|
||||||
|
// Allocate the vararg register save area. This is not counted in NumBytes.
|
||||||
if (VARegSaveSize)
|
if (VARegSaveSize)
|
||||||
emitSPUpdate(isARM, MBB, MBBI, dl, TII, -VARegSaveSize);
|
emitSPUpdate(isARM, MBB, MBBI, dl, TII, -VARegSaveSize);
|
||||||
|
|
||||||
@ -1198,8 +1199,11 @@ emitPrologue(MachineFunction &MF) const {
|
|||||||
emitSPUpdate(isARM, MBB, MBBI, dl, TII, -GPRCS1Size);
|
emitSPUpdate(isARM, MBB, MBBI, dl, TII, -GPRCS1Size);
|
||||||
movePastCSLoadStoreOps(MBB, MBBI, ARM::STR, ARM::t2STRi12, 1, STI);
|
movePastCSLoadStoreOps(MBB, MBBI, ARM::STR, ARM::t2STRi12, 1, STI);
|
||||||
|
|
||||||
// Darwin ABI requires FP to point to the stack slot that contains the
|
// Set FP to point to the stack slot that contains the previous FP.
|
||||||
// previous FP.
|
// For Darwin, FP is R7, which has now been stored in spill area 1.
|
||||||
|
// Otherwise, if this is not Darwin, all the callee-saved registers go
|
||||||
|
// into spill area 1, including the FP in R11. In either case, it is
|
||||||
|
// now safe to emit this assignment.
|
||||||
if (STI.isTargetDarwin() || hasFP(MF)) {
|
if (STI.isTargetDarwin() || hasFP(MF)) {
|
||||||
unsigned ADDriOpc = !AFI->isThumbFunction() ? ARM::ADDri : ARM::t2ADDri;
|
unsigned ADDriOpc = !AFI->isThumbFunction() ? ARM::ADDri : ARM::t2ADDri;
|
||||||
MachineInstrBuilder MIB =
|
MachineInstrBuilder MIB =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user