Skip to content

Commit de968c8

Browse files
authored
AMDGPU: Use range to implement getSubRegs (#126861)
Fixes #126781
1 parent 52ee06d commit de968c8

File tree

1 file changed

+2
-43
lines changed

1 file changed

+2
-43
lines changed

llvm/lib/Target/AMDGPU/SIRegisterInfo.td

+2-43
Original file line numberDiff line numberDiff line change
@@ -41,49 +41,8 @@ foreach Size = {2...6,8,16} in {
4141
//===----------------------------------------------------------------------===//
4242

4343
class getSubRegs<int size> {
44-
list<SubRegIndex> ret2 = [sub0, sub1];
45-
list<SubRegIndex> ret3 = [sub0, sub1, sub2];
46-
list<SubRegIndex> ret4 = [sub0, sub1, sub2, sub3];
47-
list<SubRegIndex> ret5 = [sub0, sub1, sub2, sub3, sub4];
48-
list<SubRegIndex> ret6 = [sub0, sub1, sub2, sub3, sub4, sub5];
49-
list<SubRegIndex> ret7 = [sub0, sub1, sub2, sub3, sub4, sub5, sub6];
50-
list<SubRegIndex> ret8 = [sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7];
51-
list<SubRegIndex> ret9 = [sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8];
52-
list<SubRegIndex> ret10 = [sub0, sub1, sub2, sub3,
53-
sub4, sub5, sub6, sub7,
54-
sub8, sub9];
55-
list<SubRegIndex> ret11 = [sub0, sub1, sub2, sub3,
56-
sub4, sub5, sub6, sub7,
57-
sub8, sub9, sub10];
58-
list<SubRegIndex> ret12 = [sub0, sub1, sub2, sub3,
59-
sub4, sub5, sub6, sub7,
60-
sub8, sub9, sub10, sub11];
61-
list<SubRegIndex> ret16 = [sub0, sub1, sub2, sub3,
62-
sub4, sub5, sub6, sub7,
63-
sub8, sub9, sub10, sub11,
64-
sub12, sub13, sub14, sub15];
65-
list<SubRegIndex> ret32 = [sub0, sub1, sub2, sub3,
66-
sub4, sub5, sub6, sub7,
67-
sub8, sub9, sub10, sub11,
68-
sub12, sub13, sub14, sub15,
69-
sub16, sub17, sub18, sub19,
70-
sub20, sub21, sub22, sub23,
71-
sub24, sub25, sub26, sub27,
72-
sub28, sub29, sub30, sub31];
73-
74-
list<SubRegIndex> ret = !if(!eq(size, 2), ret2,
75-
!if(!eq(size, 3), ret3,
76-
!if(!eq(size, 4), ret4,
77-
!if(!eq(size, 5), ret5,
78-
!if(!eq(size, 6), ret6,
79-
!if(!eq(size, 7), ret7,
80-
!if(!eq(size, 8), ret8,
81-
!if(!eq(size, 9), ret9,
82-
!if(!eq(size, 10), ret10,
83-
!if(!eq(size, 11), ret11,
84-
!if(!eq(size, 12), ret12,
85-
!if(!eq(size, 16), ret16,
86-
ret32))))))))))));
44+
list<SubRegIndex> ret =
45+
!foreach(idx, !range(0, size), !cast<SubRegIndex>(sub#idx));
8746
}
8847

8948
// Generates list of sequential register tuple names.

0 commit comments

Comments
 (0)