diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td b/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td index f09ad8167600..71527ae1ab11 100644 --- a/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td +++ b/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td @@ -1537,25 +1537,28 @@ def tTPsoft : tPseudoInst<(outs), (ins), 4, IIC_Br, // Defs. By doing so, we also cause the prologue/epilogue code to actively // preserve all of the callee-saved registers, which is exactly what we want. // $val is a scratch register for our use. +// This gets lowered to an instruction sequence of 12 bytes let Defs = [ R0, R1, R2, R3, R4, R5, R6, R7, R12, CPSR ], - hasSideEffects = 1, isBarrier = 1, isCodeGenOnly = 1, + hasSideEffects = 1, isBarrier = 1, isCodeGenOnly = 1, Size = 12, usesCustomInserter = 1 in def tInt_eh_sjlj_setjmp : ThumbXI<(outs),(ins tGPR:$src, tGPR:$val), AddrModeNone, 0, NoItinerary, "","", [(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>; +// This gets lowered to an instruction sequence of 10 bytes // FIXME: Non-IOS version(s) let isBarrier = 1, hasSideEffects = 1, isTerminator = 1, isCodeGenOnly = 1, - Defs = [ R7, LR, SP ] in + Size = 10, Defs = [ R7, LR, SP ] in def tInt_eh_sjlj_longjmp : XI<(outs), (ins tGPR:$src, tGPR:$scratch), AddrModeNone, 0, IndexModeNone, Pseudo, NoItinerary, "", "", [(ARMeh_sjlj_longjmp tGPR:$src, tGPR:$scratch)]>, Requires<[IsThumb,IsNotWindows]>; +// This gets lowered to an instruction sequence of 12 bytes // (Windows is Thumb2-only) let isBarrier = 1, hasSideEffects = 1, isTerminator = 1, isCodeGenOnly = 1, - Defs = [ R11, LR, SP ] in + Size = 12, Defs = [ R11, LR, SP ] in def tInt_WIN_eh_sjlj_longjmp : XI<(outs), (ins GPR:$src, GPR:$scratch), AddrModeNone, 0, IndexModeNone, Pseudo, NoItinerary, "", "", [(ARMeh_sjlj_longjmp GPR:$src, GPR:$scratch)]>, |