mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-04 21:30:49 +00:00
comment why we use custom epilogue for t1 functions using vaargs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98182 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2cd9ffef6e
commit
004453e85e
@ -854,6 +854,11 @@ void Thumb1RegisterInfo::emitEpilogue(MachineFunction &MF,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (VARegSaveSize) {
|
if (VARegSaveSize) {
|
||||||
|
// Unlike T2 and ARM mode, the T1 pop instruction cannot restore
|
||||||
|
// to LR, and we can't pop the value directly to the PC since
|
||||||
|
// we need to update the SP after popping the value. Therefore, we
|
||||||
|
// pop the old LR into R3 as a temporary.
|
||||||
|
|
||||||
// Move back past the callee-saved register restoration
|
// Move back past the callee-saved register restoration
|
||||||
while (MBBI != MBB.end() && isCSRestore(MBBI, CSRegs))
|
while (MBBI != MBB.end() && isCSRestore(MBBI, CSRegs))
|
||||||
++MBBI;
|
++MBBI;
|
||||||
|
Loading…
Reference in New Issue
Block a user