mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-03 14:08:57 +00:00
Go ahead and jump!
Now that the MC lowering handles the expansion of the pseudos, kill the horrible blobs of text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115130 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d4d4f4f488
commit
7ebc863c15
@ -2715,11 +2715,7 @@ let Defs =
|
||||
def Int_eh_sjlj_setjmp : XI<(outs), (ins GPR:$src, GPR:$val),
|
||||
AddrModeNone, SizeSpecial, IndexModeNone,
|
||||
Pseudo, NoItinerary,
|
||||
"add\t$val, pc, #8\t${:comment} eh_setjmp begin\n\t"
|
||||
"str\t$val, [$src, #4]\n\t"
|
||||
"mov\tr0, #0\n\t"
|
||||
"add\tpc, pc, #0\n\t"
|
||||
"mov\tr0, #1 ${:comment} eh_setjmp end", "",
|
||||
"${:comment} EH.SJLJ.SETJMP PSEUDO", "",
|
||||
[(set R0, (ARMeh_sjlj_setjmp GPR:$src, GPR:$val))]>,
|
||||
Requires<[IsARM, HasVFP2]>;
|
||||
}
|
||||
@ -2730,11 +2726,7 @@ let Defs =
|
||||
def Int_eh_sjlj_setjmp_nofp : XI<(outs), (ins GPR:$src, GPR:$val),
|
||||
AddrModeNone, SizeSpecial, IndexModeNone,
|
||||
Pseudo, NoItinerary,
|
||||
"add\t$val, pc, #8\t${:comment} eh_setjmp begin\n\t"
|
||||
"str\t$val, [$src, #4]\n\t"
|
||||
"mov\tr0, #0\n\t"
|
||||
"add\tpc, pc, #0\n\t"
|
||||
"mov\tr0, #1 ${:comment} eh_setjmp end", "",
|
||||
"${:comment} EH.SJLJ.SETJMP PSEUDO", "",
|
||||
[(set R0, (ARMeh_sjlj_setjmp GPR:$src, GPR:$val))]>,
|
||||
Requires<[IsARM, NoVFP]>;
|
||||
}
|
||||
@ -2745,10 +2737,7 @@ let isBarrier = 1, hasSideEffects = 1, isTerminator = 1,
|
||||
def Int_eh_sjlj_longjmp : XI<(outs), (ins GPR:$src, GPR:$scratch),
|
||||
AddrModeNone, SizeSpecial, IndexModeNone,
|
||||
Pseudo, NoItinerary,
|
||||
"ldr\tsp, [$src, #8]\n\t"
|
||||
"ldr\t$scratch, [$src, #4]\n\t"
|
||||
"ldr\tr7, [$src]\n\t"
|
||||
"bx\t$scratch", "",
|
||||
"${:comment} EH.SJLJ.LONGJMP PSEUDO", "",
|
||||
[(ARMeh_sjlj_longjmp GPR:$src, GPR:$scratch)]>,
|
||||
Requires<[IsARM, IsDarwin]>;
|
||||
}
|
||||
|
@ -919,13 +919,7 @@ let Defs =
|
||||
isBarrier = 1 in {
|
||||
def tInt_eh_sjlj_setjmp : ThumbXI<(outs),(ins tGPR:$src, tGPR:$val),
|
||||
AddrModeNone, SizeSpecial, NoItinerary,
|
||||
"mov\t$val, pc\t${:comment} begin eh.setjmp\n\t"
|
||||
"adds\t$val, #7\n\t"
|
||||
"str\t$val, [$src, #4]\n\t"
|
||||
"movs\tr0, #0\n\t"
|
||||
"b\t1f\n\t"
|
||||
"movs\tr0, #1\t${:comment} end eh.setjmp\n\t"
|
||||
"1:", "",
|
||||
"${:comment} EH.SJLJ.SETJMP PSEUDO", "",
|
||||
[(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>;
|
||||
}
|
||||
|
||||
@ -935,11 +929,7 @@ let isBarrier = 1, hasSideEffects = 1, isTerminator = 1,
|
||||
def tInt_eh_sjlj_longjmp : XI<(outs), (ins GPR:$src, GPR:$scratch),
|
||||
AddrModeNone, SizeSpecial, IndexModeNone,
|
||||
Pseudo, NoItinerary,
|
||||
"ldr\t$scratch, [$src, #8]\n\t"
|
||||
"mov\tsp, $scratch\n\t"
|
||||
"ldr\t$scratch, [$src, #4]\n\t"
|
||||
"ldr\tr7, [$src]\n\t"
|
||||
"bx\t$scratch", "",
|
||||
"${:comment} EH.SJLJ.LONGJMP PSEUDO", "",
|
||||
[(ARMeh_sjlj_longjmp GPR:$src, GPR:$scratch)]>,
|
||||
Requires<[IsThumb, IsDarwin]>;
|
||||
}
|
||||
|
@ -2447,13 +2447,7 @@ let Defs =
|
||||
D31 ], hasSideEffects = 1, isBarrier = 1 in {
|
||||
def t2Int_eh_sjlj_setjmp : Thumb2XI<(outs), (ins tGPR:$src, tGPR:$val),
|
||||
AddrModeNone, SizeSpecial, NoItinerary,
|
||||
"mov\t$val, pc\t${:comment} begin eh.setjmp\n\t"
|
||||
"adds\t$val, #7\n\t"
|
||||
"str\t$val, [$src, #4]\n\t"
|
||||
"movs\tr0, #0\n\t"
|
||||
"b\t1f\n\t"
|
||||
"movs\tr0, #1\t${:comment} end eh.setjmp\n\t"
|
||||
"1:", "",
|
||||
"${:comment} EH.SJLJ.SETJMP PSEUDO", "",
|
||||
[(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>,
|
||||
Requires<[IsThumb2, HasVFP2]>;
|
||||
}
|
||||
@ -2463,13 +2457,7 @@ let Defs =
|
||||
hasSideEffects = 1, isBarrier = 1 in {
|
||||
def t2Int_eh_sjlj_setjmp_nofp : Thumb2XI<(outs), (ins tGPR:$src, tGPR:$val),
|
||||
AddrModeNone, SizeSpecial, NoItinerary,
|
||||
"mov\t$val, pc\t${:comment} begin eh.setjmp\n\t"
|
||||
"adds\t$val, #7\n\t"
|
||||
"str\t$val, [$src, #4]\n\t"
|
||||
"movs\tr0, #0\n\t"
|
||||
"b\t1f\n\t"
|
||||
"movs\tr0, #1\t${:comment} end eh.setjmp\n\t"
|
||||
"1:", "",
|
||||
"${:comment} EH.SJLJ.SETJMP PSEUDO", "",
|
||||
[(set R0, (ARMeh_sjlj_setjmp tGPR:$src, tGPR:$val))]>,
|
||||
Requires<[IsThumb2, NoVFP]>;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user