From: Jakob Stoklund Olesen Date: Tue, 25 May 2010 19:49:33 +0000 (+0000) Subject: Remove NumberHack entirely. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4fda9670f0a9cd448d1905ab669421316b8864c5;p=oota-llvm.git Remove NumberHack entirely. SubRegIndex instances are now numbered uniquely the same way Register instances are - in lexicographical order by name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104627 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Target/Target.td b/include/llvm/Target/Target.td index 5fd69cf2e6d..9e0ad6f9e5e 100644 --- a/include/llvm/Target/Target.td +++ b/include/llvm/Target/Target.td @@ -21,13 +21,9 @@ include "llvm/Intrinsics.td" class RegisterClass; // Forward def -// SubRegIndex - Use instances on SubRegIndex to identify subregisters. +// SubRegIndex - Use instances of SubRegIndex to identify subregisters. class SubRegIndex { string Namespace = ""; - - // This explicit numbering is going away after RegisterClass::SubRegClassList - // is replaced. - int NumberHack; } // Register - You should define one instance of this class for each register diff --git a/lib/Target/ARM/ARMRegisterInfo.td b/lib/Target/ARM/ARMRegisterInfo.td index a71cf7235c5..982401a795a 100644 --- a/lib/Target/ARM/ARMRegisterInfo.td +++ b/lib/Target/ARM/ARMRegisterInfo.td @@ -26,27 +26,27 @@ class ARMFReg num, string n> : Register { // Subregister indices. let Namespace = "ARM" in { // Note: Code depends on these having consecutive numbers. -def ssub_0 : SubRegIndex { let NumberHack = 1; } -def ssub_1 : SubRegIndex { let NumberHack = 2; } -def ssub_2 : SubRegIndex { let NumberHack = 3; } -def ssub_3 : SubRegIndex { let NumberHack = 4; } - -def dsub_0 : SubRegIndex { let NumberHack = 5; } -def dsub_1 : SubRegIndex { let NumberHack = 6; } -def dsub_2 : SubRegIndex { let NumberHack = 7; } -def dsub_3 : SubRegIndex { let NumberHack = 8; } -def dsub_4 : SubRegIndex { let NumberHack = 9; } -def dsub_5 : SubRegIndex { let NumberHack = 10; } -def dsub_6 : SubRegIndex { let NumberHack = 11; } -def dsub_7 : SubRegIndex { let NumberHack = 12; } - -def qsub_0 : SubRegIndex { let NumberHack = 13; } -def qsub_1 : SubRegIndex { let NumberHack = 14; } -def qsub_2 : SubRegIndex { let NumberHack = 15; } -def qsub_3 : SubRegIndex { let NumberHack = 16; } - -def qqsub_0 : SubRegIndex { let NumberHack = 17; } -def qqsub_1 : SubRegIndex { let NumberHack = 18; } +def ssub_0 : SubRegIndex; +def ssub_1 : SubRegIndex; +def ssub_2 : SubRegIndex; +def ssub_3 : SubRegIndex; + +def dsub_0 : SubRegIndex; +def dsub_1 : SubRegIndex; +def dsub_2 : SubRegIndex; +def dsub_3 : SubRegIndex; +def dsub_4 : SubRegIndex; +def dsub_5 : SubRegIndex; +def dsub_6 : SubRegIndex; +def dsub_7 : SubRegIndex; + +def qsub_0 : SubRegIndex; +def qsub_1 : SubRegIndex; +def qsub_2 : SubRegIndex; +def qsub_3 : SubRegIndex; + +def qqsub_0 : SubRegIndex; +def qqsub_1 : SubRegIndex; } // Integer registers diff --git a/lib/Target/Blackfin/BlackfinRegisterInfo.td b/lib/Target/Blackfin/BlackfinRegisterInfo.td index d47f6b13fd4..8379ce74a27 100644 --- a/lib/Target/Blackfin/BlackfinRegisterInfo.td +++ b/lib/Target/Blackfin/BlackfinRegisterInfo.td @@ -16,9 +16,9 @@ // 2: .H // 3: .W (32 low bits of 40-bit accu) let Namespace = "BF" in { -def lo16 : SubRegIndex { let NumberHack = 1; } -def hi16 : SubRegIndex { let NumberHack = 2; } -def lo32 : SubRegIndex { let NumberHack = 3; } +def lo16 : SubRegIndex; +def hi16 : SubRegIndex; +def lo32 : SubRegIndex; } // Registers are identified with 3-bit group and 3-bit ID numbers. diff --git a/lib/Target/MSP430/MSP430RegisterInfo.td b/lib/Target/MSP430/MSP430RegisterInfo.td index 80db8b069af..f488f009138 100644 --- a/lib/Target/MSP430/MSP430RegisterInfo.td +++ b/lib/Target/MSP430/MSP430RegisterInfo.td @@ -60,10 +60,7 @@ def R13W : MSP430RegWithSubregs<13, "r13", [R13B]>; def R14W : MSP430RegWithSubregs<14, "r14", [R14B]>; def R15W : MSP430RegWithSubregs<15, "r15", [R15B]>; -def subreg_8bit : SubRegIndex { - let NumberHack = 1; - let Namespace = "MSP430"; -} +def subreg_8bit : SubRegIndex { let Namespace = "MSP430"; } def : SubRegSet, DwarfRegNum<[74]>; def CR7 : CR<7, "cr7", [CR7LT, CR7GT, CR7EQ, CR7UN]>, DwarfRegNum<[75]>; let Namespace = "PPC" in { -def sub_lt : SubRegIndex { let NumberHack = 1; } -def sub_gt : SubRegIndex { let NumberHack = 2; } -def sub_eq : SubRegIndex { let NumberHack = 3; } -def sub_un : SubRegIndex { let NumberHack = 4; } +def sub_lt : SubRegIndex; +def sub_gt : SubRegIndex; +def sub_eq : SubRegIndex; +def sub_un : SubRegIndex; } def : SubRegSet, DwarfRegNum<[31]>; def PSW : SystemZReg<"psw">; let Namespace = "SystemZ" in { -def subreg_32bit : SubRegIndex { let NumberHack = 1; } -def subreg_even32 : SubRegIndex { let NumberHack = 1; } -def subreg_odd32 : SubRegIndex { let NumberHack = 2; } -def subreg_even : SubRegIndex { let NumberHack = 3; } -def subreg_odd : SubRegIndex { let NumberHack = 4; } +def subreg_32bit : SubRegIndex; +def subreg_even32 : SubRegIndex; +def subreg_odd32 : SubRegIndex; +def subreg_even : SubRegIndex; +def subreg_odd : SubRegIndex; } def : SubRegSet