277 lines · plain
1// RUN: llvm-tblgen %s | FileCheck %s2 3class Set<int i = 0, int j = 0, int k = 0> {4 int I = i;5 int J = j;6 int K = k;7}8 9foreach i = [1, 2, 3] in {10 def I1_#i : Set<i>;11 foreach j = [1, 2, 3] in {12 def I1_#i#_J1_#j : Set<i, j>;13 }14 def I2_#i : Set<i>;15 foreach j = [4, 5, 6] in {16 foreach k = [1, 2, 3] in {17 def I3_#i#_J2_#j#_K1_#k : Set<i, j, k>;18 }19 def I4_#i#_J3_#j : Set<i, j>;20 }21}22 23// CHECK: def I1_124// CHECK: int I = 1;25// CHECK: int J = 0;26// CHECK: int K = 0;27 28// CHECK: def I1_1_J1_129// CHECK: int I = 1;30// CHECK: int J = 1;31// CHECK: int K = 0;32 33// CHECK: def I1_1_J1_234// CHECK: int I = 1;35// CHECK: int J = 2;36// CHECK: int K = 0;37 38// CHECK: def I1_1_J1_339// CHECK: int I = 1;40// CHECK: int J = 3;41// CHECK: int K = 0;42 43// CHECK: def I1_244// CHECK: int I = 2;45// CHECK: int J = 0;46// CHECK: int K = 0;47 48// CHECK: def I1_2_J1_149// CHECK: int I = 2;50// CHECK: int J = 1;51// CHECK: int K = 0;52 53// CHECK: def I1_2_J1_254// CHECK: int I = 2;55// CHECK: int J = 2;56// CHECK: int K = 0;57 58// CHECK: def I1_2_J1_359// CHECK: int I = 2;60// CHECK: int J = 3;61// CHECK: int K = 0;62 63// CHECK: def I1_364// CHECK: int I = 3;65// CHECK: int J = 0;66// CHECK: int K = 0;67 68// CHECK: def I1_3_J1_169// CHECK: int I = 3;70// CHECK: int J = 1;71// CHECK: int K = 0;72 73// CHECK: def I1_3_J1_274// CHECK: int I = 3;75// CHECK: int J = 2;76// CHECK: int K = 0;77 78// CHECK: def I1_3_J1_379// CHECK: int I = 3;80// CHECK: int J = 3;81// CHECK: int K = 0;82 83// CHECK: def I2_184// CHECK: int I = 1;85// CHECK: int J = 0;86// CHECK: int K = 0;87 88// CHECK: def I2_289// CHECK: int I = 2;90// CHECK: int J = 0;91// CHECK: int K = 0;92 93// CHECK: def I2_394// CHECK: int I = 3;95// CHECK: int J = 0;96// CHECK: int K = 0;97 98// CHECK: def I3_1_J2_4_K1_199// CHECK: int I = 1;100// CHECK: int J = 4;101// CHECK: int K = 1;102 103// CHECK: def I3_1_J2_4_K1_2104// CHECK: int I = 1;105// CHECK: int J = 4;106// CHECK: int K = 2;107 108// CHECK: def I3_1_J2_4_K1_3109// CHECK: int I = 1;110// CHECK: int J = 4;111// CHECK: int K = 3;112 113// CHECK: def I3_1_J2_5_K1_1114// CHECK: int I = 1;115// CHECK: int J = 5;116// CHECK: int K = 1;117 118// CHECK: def I3_1_J2_5_K1_2119// CHECK: int I = 1;120// CHECK: int J = 5;121// CHECK: int K = 2;122 123// CHECK: def I3_1_J2_5_K1_3124// CHECK: int I = 1;125// CHECK: int J = 5;126// CHECK: int K = 3;127 128// CHECK: def I3_1_J2_6_K1_1129// CHECK: int I = 1;130// CHECK: int J = 6;131// CHECK: int K = 1;132 133// CHECK: def I3_1_J2_6_K1_2134// CHECK: int I = 1;135// CHECK: int J = 6;136// CHECK: int K = 2;137 138// CHECK: def I3_1_J2_6_K1_3139// CHECK: int I = 1;140// CHECK: int J = 6;141// CHECK: int K = 3;142 143// CHECK: def I3_2_J2_4_K1_1144// CHECK: int I = 2;145// CHECK: int J = 4;146// CHECK: int K = 1;147 148// CHECK: def I3_2_J2_4_K1_2149// CHECK: int I = 2;150// CHECK: int J = 4;151// CHECK: int K = 2;152 153// CHECK: def I3_2_J2_4_K1_3154// CHECK: int I = 2;155// CHECK: int J = 4;156// CHECK: int K = 3;157 158// CHECK: def I3_2_J2_5_K1_1159// CHECK: int I = 2;160// CHECK: int J = 5;161// CHECK: int K = 1;162 163// CHECK: def I3_2_J2_5_K1_2164// CHECK: int I = 2;165// CHECK: int J = 5;166// CHECK: int K = 2;167 168// CHECK: def I3_2_J2_5_K1_3169// CHECK: int I = 2;170// CHECK: int J = 5;171// CHECK: int K = 3;172 173// CHECK: def I3_2_J2_6_K1_1174// CHECK: int I = 2;175// CHECK: int J = 6;176// CHECK: int K = 1;177 178// CHECK: def I3_2_J2_6_K1_2179// CHECK: int I = 2;180// CHECK: int J = 6;181// CHECK: int K = 2;182 183// CHECK: def I3_2_J2_6_K1_3184// CHECK: int I = 2;185// CHECK: int J = 6;186// CHECK: int K = 3;187 188// CHECK: def I3_3_J2_4_K1_1189// CHECK: int I = 3;190// CHECK: int J = 4;191// CHECK: int K = 1;192 193// CHECK: def I3_3_J2_4_K1_2194// CHECK: int I = 3;195// CHECK: int J = 4;196// CHECK: int K = 2;197 198// CHECK: def I3_3_J2_4_K1_3199// CHECK: int I = 3;200// CHECK: int J = 4;201// CHECK: int K = 3;202 203// CHECK: def I3_3_J2_5_K1_1204// CHECK: int I = 3;205// CHECK: int J = 5;206// CHECK: int K = 1;207 208// CHECK: def I3_3_J2_5_K1_2209// CHECK: int I = 3;210// CHECK: int J = 5;211// CHECK: int K = 2;212 213// CHECK: def I3_3_J2_5_K1_3214// CHECK: int I = 3;215// CHECK: int J = 5;216// CHECK: int K = 3;217 218// CHECK: def I3_3_J2_6_K1_1219// CHECK: int I = 3;220// CHECK: int J = 6;221// CHECK: int K = 1;222 223// CHECK: def I3_3_J2_6_K1_2224// CHECK: int I = 3;225// CHECK: int J = 6;226// CHECK: int K = 2;227 228// CHECK: def I3_3_J2_6_K1_3229// CHECK: int I = 3;230// CHECK: int J = 6;231// CHECK: int K = 3;232 233// CHECK: def I4_1_J3_4234// CHECK: int I = 1;235// CHECK: int J = 4;236// CHECK: int K = 0;237 238// CHECK: def I4_1_J3_5239// CHECK: int I = 1;240// CHECK: int J = 5;241// CHECK: int K = 0;242 243// CHECK: def I4_1_J3_6244// CHECK: int I = 1;245// CHECK: int J = 6;246// CHECK: int K = 0;247 248// CHECK: def I4_2_J3_4249// CHECK: int I = 2;250// CHECK: int J = 4;251// CHECK: int K = 0;252 253// CHECK: def I4_2_J3_5254// CHECK: int I = 2;255// CHECK: int J = 5;256// CHECK: int K = 0;257 258// CHECK: def I4_2_J3_6259// CHECK: int I = 2;260// CHECK: int J = 6;261// CHECK: int K = 0;262 263// CHECK: def I4_3_J3_4264// CHECK: int I = 3;265// CHECK: int J = 4;266// CHECK: int K = 0;267 268// CHECK: def I4_3_J3_5269// CHECK: int I = 3;270// CHECK: int J = 5;271// CHECK: int K = 0;272 273// CHECK: def I4_3_J3_6274// CHECK: int I = 3;275// CHECK: int J = 6;276// CHECK: int K = 0;277