mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-30 23:42:52 +01:00
b3ea970660
In sparc, setjmp stores only the registers %fp, %sp, %i7 and %o7. longjmp restores the stack, and the callee-saved registers (all local/in registers: %i0-%i7, %l0-%l7) using the stored %fp and register windows. However, this does not guarantee that the longjmp will restore the registers, as they were when the setjmp was called. This is because these registers may be clobbered after returning from setjmp, but before calling longjmp. This patch prevents the registers %i0-%i5, %l0-l7 to live across the setjmp call using the register mask. llvm-svn: 190033 |
||
---|---|---|
.. | ||
64abi.ll | ||
64bit.ll | ||
64cond.ll | ||
2006-01-22-BitConvertLegalize.ll | ||
2007-05-09-JumpTables.ll | ||
2007-07-05-LiveIntervalAssert.ll | ||
2008-10-10-InlineAsmMemoryOperand.ll | ||
2008-10-10-InlineAsmRegOperand.ll | ||
2009-08-28-PIC.ll | ||
2009-08-28-WeakLinkage.ll | ||
2011-01-11-Call.ll | ||
2011-01-11-CC.ll | ||
2011-01-11-FrameAddr.ll | ||
2011-01-19-DelaySlot.ll | ||
2011-01-21-ByValArgs.ll | ||
2011-01-22-SRet.ll | ||
2011-12-03-TailDuplication.ll | ||
2012-05-01-LowerArguments.ll | ||
2013-05-17-CallFrame.ll | ||
basictest.ll | ||
blockaddr.ll | ||
constpool.ll | ||
ctpop.ll | ||
DbgValueOtherTargets.test | ||
float.ll | ||
fp128.ll | ||
globals.ll | ||
leafproc.ll | ||
lit.local.cfg | ||
mult-alt-generic-sparc.ll | ||
private.ll | ||
setjmp.ll | ||
varargs.ll |