From 0531d04d002c6d9489b4d1a85f49734e5c27e6f7 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Wed, 29 Jul 2009 20:10:36 +0000 Subject: [PATCH] - Fix an obvious copy and paste error. - Darwin Thumb2 call clobbers r9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77500 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrInfo.td | 6 +++--- lib/Target/ARM/ARMInstrThumb.td | 2 +- lib/Target/ARM/ARMInstrThumb2.td | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index f0101eaf508..6b2475bb5d0 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -611,7 +611,7 @@ let isCall = 1, Itinerary = IIC_Br, Defs = [R0, R1, R2, R3, R12, LR, D0, D1, D2, D3, D4, D5, D6, D7, D16, D17, D18, D19, D20, D21, D22, D23, - D24, D25, D26, D27, D28, D29, D31, D31, CPSR] in { + D24, D25, D26, D27, D28, D29, D30, D31, CPSR] in { def BL : ABXI<0b1011, (outs), (ins i32imm:$func, variable_ops), "bl ${func:call}", [(ARMcall tglobaladdr:$func)]>, Requires<[IsNotDarwin]>; @@ -644,7 +644,7 @@ let isCall = 1, Itinerary = IIC_Br, Defs = [R0, R1, R2, R3, R9, R12, LR, D0, D1, D2, D3, D4, D5, D6, D7, D16, D17, D18, D19, D20, D21, D22, D23, - D24, D25, D26, D27, D28, D29, D31, D31, CPSR] in { + D24, D25, D26, D27, D28, D29, D30, D31, CPSR] in { def BLr9 : ABXI<0b1011, (outs), (ins i32imm:$func, variable_ops), "bl ${func:call}", [(ARMcall tglobaladdr:$func)]>, Requires<[IsDarwin]>; @@ -1401,7 +1401,7 @@ let isCall = 1, let Defs = [ R0, R1, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, LR, D0, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, - D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D31, + D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31 ] in { def Int_eh_sjlj_setjmp : XI<(outs), (ins GPR:$src), AddrModeNone, SizeSpecial, IndexModeNone, Pseudo, diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td index 542b8ba5e4d..d6a5d8e2989 100644 --- a/lib/Target/ARM/ARMInstrThumb.td +++ b/lib/Target/ARM/ARMInstrThumb.td @@ -169,7 +169,7 @@ let isCall = 1, Defs = [R0, R1, R2, R3, R12, LR, D0, D1, D2, D3, D4, D5, D6, D7, D16, D17, D18, D19, D20, D21, D22, D23, - D24, D25, D26, D27, D28, D29, D31, D31, CPSR] in { + D24, D25, D26, D27, D28, D29, D30, D31, CPSR] in { def tBL : T1Ix2<(outs), (ins i32imm:$func, variable_ops), "bl ${func:call}", [(ARMtcall tglobaladdr:$func)]>; diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td index 9ef3658d2aa..a0956e1d1c2 100644 --- a/lib/Target/ARM/ARMInstrThumb2.td +++ b/lib/Target/ARM/ARMInstrThumb2.td @@ -1024,7 +1024,7 @@ let isCall = 1, Defs = [R0, R1, R2, R3, R12, LR, D0, D1, D2, D3, D4, D5, D6, D7, D16, D17, D18, D19, D20, D21, D22, D23, - D24, D25, D26, D27, D28, D29, D31, D31, CPSR] in { + D24, D25, D26, D27, D28, D29, D30, D31, CPSR] in { def t2BL : T2XI<(outs), (ins i32imm:$func, variable_ops), "bl ${func:call}", [(ARMcall tglobaladdr:$func)]>, Requires<[IsNotDarwin]>; @@ -1037,7 +1037,8 @@ def t2BLX : T2XI<(outs), (ins GPR:$func, variable_ops), // On Darwin R9 is call-clobbered. let isCall = 1, Defs = [R0, R1, R2, R3, R9, R12, LR, - D0, D1, D2, D3, D4, D5, D6, D7, CPSR] in { + D16, D17, D18, D19, D20, D21, D22, D23, + D24, D25, D26, D27, D28, D29, D30, D31, CPSR] in { def t2BLr9 : T2XI<(outs), (ins i32imm:$func, variable_ops), "bl ${func:call}", [(ARMcall tglobaladdr:$func)]>, Requires<[IsDarwin]>; -- 2.34.1