[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / TableGen / foreach-variable-range.td
blob2a576d247a3510d110046ccdefa4cb601ba42f09
1 // RUN: llvm-tblgen %s
3 class ConstantsImpl {
4   int Zero = 0;
5   int One = 1;
6   int Two = 2;
7   int Three = 3;
8   int Five = 5;
11 def Constants : ConstantsImpl;
13 // CHECK-DAG: def var_bound_whitespaceA0
14 // CHECK-DAG: def var_bound_whitespaceA1
15 // CHECK-DAG: def var_bound_whitespaceA2
16 foreach Index = Constants.Zero ... Constants.Two in {
17   def var_bound_whitespaceA#Index;
20 // CHECK-DAG: def var_bound_whitespaceB0
21 // CHECK-DAG: def var_bound_whitespaceB1
22 // CHECK-DAG: def var_bound_whitespaceB2
23 foreach Index = Constants.Zero...Constants.Two in {
24   def var_bounds_whitespaceB#Index;
27 // CHECK-DAG: def var_bound_whitespaceC0
28 // CHECK-DAG: def var_bound_whitespaceC1
29 // CHECK-DAG: def var_bound_whitespaceC2
30 foreach Index = Constants.Zero ...Constants.Two in {
31   def var_bounds_whitespaceC#Index;
34 // CHECK-DAG: def var_bound_whitespaceD0
35 // CHECK-DAG: def var_bound_whitespaceD1
36 // CHECK-DAG: def var_bound_whitespaceD2
37 foreach Index = Constants.Zero... Constants.Two in {
38   def var_bounds_whitespaceD#Index;
41 // CHECK-DAG: def const_lower_whitespaceA0
42 // CHECK-DAG: def const_lower_whitespaceA1
43 // CHECK-DAG: def const_lower_whitespaceA2
44 foreach Index = 0 ... Constants.Two in {
45   def const_lower_whitespaceA#Index;
48 // CHECK-DAG: def const_lower_whitespaceB0
49 // CHECK-DAG: def const_lower_whitespaceB1
50 // CHECK-DAG: def const_lower_whitespaceB2
51 foreach Index = 0...Constants.Two in {
52   def const_lower_whitespaceB#Index;
55 // CHECK-DAG: def const_lower_whitespaceC0
56 // CHECK-DAG: def const_lower_whitespaceC1
57 // CHECK-DAG: def const_lower_whitespaceC2
58 foreach Index = 0 ...Constants.Two in {
59   def const_lower_whitespaceC#Index;
62 // CHECK-DAG: def const_lower_whitespaceD0
63 // CHECK-DAG: def const_lower_whitespaceD1
64 // CHECK-DAG: def const_lower_whitespaceD2
65 foreach Index = 0... Constants.Two in {
66   def const_lower_whitespaceD#Index;
69 // CHECK-DAG: def const_upper_whitespaceA0
70 // CHECK-DAG: def const_upper_whitespaceA1
71 // CHECK-DAG: def const_upper_whitespaceA2
72 foreach Index = Constants.Zero ... 2 in {
73   def const_upper_whitespaceA#Index;
76 // CHECK-DAG: def const_upper_whitespaceB0
77 // CHECK-DAG: def const_upper_whitespaceB1
78 // CHECK-DAG: def const_upper_whitespaceB2
79 foreach Index = Constants.Zero...2 in {
80   def const_upper_whitespaceB#Index;
83 // CHECK-DAG: def const_upper_whitespaceC0
84 // CHECK-DAG: def const_upper_whitespaceC1
85 // CHECK-DAG: def const_upper_whitespaceC2
86 foreach Index = Constants.Zero ...2 in {
87   def const_upper_whitespaceC#Index;
90 // CHECK-DAG: def const_upper_whitespaceD0
91 // CHECK-DAG: def const_upper_whitespaceD1
92 // CHECK-DAG: def const_upper_whitespaceD2
93 foreach Index = Constants.Zero... 2 in {
94   def const_upper_whitespaceD#Index;
97 // CHECK-DAG: def multi_rangeA0
98 // CHECK-DAG: def multi_rangeA1
99 // CHECK-DAG: def multi_rangeA2
100 // CHECK-DAG: def multi_rangeA3
101 foreach Index = {Constants.Zero...Constants.One, Constants.Two...Constants.Three} in {
102   def multi_rangeA#Index;
105 // CHECK-DAG: def multi_rangeB0
106 // CHECK-DAG: def multi_rangeB1
107 // CHECK-DAG: def multi_rangeB3
108 // CHECK-DAG: def multi_rangeB4
109 // CHECK-DAG: def multi_rangeB5
110 foreach Index = {0...Constants.One, Constants.Three...Constants.Five} in {
111   def multi_rangeB#Index;
114 // CHECK-DAG: def multi_rangeC0
115 // CHECK-DAG: def multi_rangeC1
116 // CHECK-DAG: def multi_rangeC2
117 // CHECK-DAG: def multi_rangeC3
118 foreach Index = {0...Constants.One, 2...Constants.Three} in {
119   def multi_rangeC#Index;
122 // CHECK-DAG: def multi_rangeD0
123 // CHECK-DAG: def multi_rangeD1
124 // CHECK-DAG: def multi_rangeD2
125 // CHECK-DAG: def multi_rangeD3
126 foreach Index = {0...1, Constants.Two...3} in {
127   def multi_rangeD#Index;