11// RUN: mlir-translate -mlir-to-cpp %s | FileCheck %s
22
3+ // CHECK-LABEL: test_for_siblings
34func.func @test_for_siblings () {
45 %start = " emitc.constant" () <{value = 0 : index }> : () -> !emitc.size_t
56 %stop = " emitc.constant" () <{value = 10 : index }> : () -> !emitc.size_t
@@ -8,32 +9,33 @@ func.func @test_for_siblings() {
89 %var1 = " emitc.variable" () <{value = 0 : index }> : () -> !emitc.lvalue <!emitc.size_t >
910 %var2 = " emitc.variable" () <{value = 0 : index }> : () -> !emitc.lvalue <!emitc.size_t >
1011
12+ // CHECK: for (size_t [[ITER0:i_[0-9]*]] = {{.*}}; [[ITER0]] < {{.*}}; [[ITER0]] += {{.*}}) {
1113 emitc.for %i0 = %start to %stop step %step {
14+ // CHECK: for (size_t [[ITER1:j_[0-9]*]] = {{.*}}; [[ITER1]] < {{.*}}; [[ITER1]] += {{.*}}) {
1215 emitc.for %i1 = %start to %stop step %step {
16+ // CHECK: {{.*}} = [[ITER0]];
1317 " emitc.assign" (%var1 ,%i0 ) : (!emitc.lvalue <!emitc.size_t >, !emitc.size_t ) -> ()
18+ // CHECK: {{.*}} = [[ITER1]];
1419 " emitc.assign" (%var2 ,%i1 ) : (!emitc.lvalue <!emitc.size_t >, !emitc.size_t ) -> ()
1520 }
1621 }
22+ // CHECK: for (size_t [[ITER2:i_[0-9]*]] = {{.*}}; [[ITER2]] < {{.*}}; [[ITER2]] += {{.*}})
1723 emitc.for %ki2 = %start to %stop step %step {
24+ // CHECK: for (size_t [[ITER3:j_[0-9]*]] = {{.*}}; [[ITER3]] < {{.*}}; [[ITER3]] += {{.*}})
1825 emitc.for %i3 = %start to %stop step %step {
1926 %1 = emitc.call_opaque " f" () : () -> i32
2027 }
2128 }
2229 return
2330}
24- // CHECK-LABEL: test_for_siblings
25- // CHECK: for (size_t [[ITER0:i_[0-9]*]] = {{.*}}; [[ITER0]] < {{.*}}; [[ITER0]] += {{.*}}) {
26- // CHECK: for (size_t [[ITER1:j_[0-9]*]] = {{.*}}; [[ITER1]] < {{.*}}; [[ITER1]] += {{.*}}) {
27- // CHECK-NEXT: {{.*}} = [[ITER0]];
28- // CHECK-NEXT: {{.*}} = [[ITER1]];
29- // CHECK: for (size_t [[ITER2:i_[0-9]*]] = {{.*}}; [[ITER2]] < {{.*}}; [[ITER2]] += {{.*}})
30- // CHECK: for (size_t [[ITER3:j_[0-9]*]] = {{.*}}; [[ITER3]] < {{.*}}; [[ITER3]] += {{.*}})
3131
32+ // CHECK-LABEL: test_for_nesting
3233func.func @test_for_nesting () {
3334 %start = " emitc.constant" () <{value = 0 : index }> : () -> !emitc.size_t
3435 %stop = " emitc.constant" () <{value = 10 : index }> : () -> !emitc.size_t
3536 %step = " emitc.constant" () <{value = 1 : index }> : () -> !emitc.size_t
3637
38+ // CHECK-COUNT-18: for (size_t [[ITER:[i-z]_[0-9]*]] = {{.*}}; [[ITER]] < {{.*}}; [[ITER]] += {{.*}}) {
3739 emitc.for %i0 = %start to %stop step %step {
3840 emitc.for %i1 = %start to %stop step %step {
3941 emitc.for %i2 = %start to %stop step %step {
@@ -52,7 +54,9 @@ func.func @test_for_nesting() {
5254 emitc.for %i15 = %start to %stop step %step {
5355 emitc.for %i16 = %start to %stop step %step {
5456 emitc.for %i17 = %start to %stop step %step {
57+ // CHECK: for (size_t [[ITERz0:z0_[0-9]*]] = {{.*}}; [[ITERz0]] < {{.*}}; [[ITERz0]] += {{.*}}) {
5558 emitc.for %i18 = %start to %stop step %step {
59+ // CHECK: for (size_t [[ITERz1:z1_[0-9]*]] = {{.*}}; [[ITERz1]] < {{.*}}; [[ITERz1]] += {{.*}}) {
5660 emitc.for %i19 = %start to %stop step %step {
5761 %0 = emitc.call_opaque " f" () : () -> i32
5862 }
@@ -77,8 +81,3 @@ func.func @test_for_nesting() {
7781 }
7882 return
7983}
80- // CHECK-LABEL: test_for_nesting
81- // CHECK-COUNT-18: for (size_t [[ITER:[i-z]_[0-9]*]] = {{.*}}; [[ITER]] < {{.*}}; [[ITER]] += {{.*}}) {
82- // CHECK: for (size_t [[ITERz0:z0_[0-9]*]] = {{.*}}; [[ITERz0]] < {{.*}}; [[ITERz0]] += {{.*}}) {
83- // CHECK: for (size_t [[ITERz1:z1_[0-9]*]] = {{.*}}; [[ITERz1]] < {{.*}}; [[ITERz1]] += {{.*}}) {
84-
0 commit comments