Lines Matching full:index
3 func.func @uplift_while(%arg0: index, %arg1: index, %arg2: index) -> index {
4 %0 = scf.while (%arg3 = %arg0) : (index) -> (index) {
5 %1 = arith.cmpi slt, %arg3, %arg1 : index
6 scf.condition(%1) %arg3 : index
8 ^bb0(%arg3: index):
9 "test.test1"(%arg3) : (index) -> ()
10 %added = arith.addi %arg3, %arg2 : index
11 "test.test2"(%added) : (index) -> ()
12 scf.yield %added : index
14 return %0 : index
18 // CHECK-SAME: (%[[BEGIN:.*]]: index, %[[END:.*]]: index, %[[STEP:.*]]: index) -> index
19 // CHECK: %[[C1:.*]] = arith.constant 1 : index
21 // CHECK: "test.test1"(%[[I]]) : (index) -> ()
22 // CHECK: %[[INC:.*]] = arith.addi %[[I]], %[[STEP]] : index
23 // CHECK: "test.test2"(%[[INC]]) : (index) -> ()
24 // CHECK: %[[R1:.*]] = arith.subi %[[STEP]], %[[C1]] : index
25 // CHECK: %[[R2:.*]] = arith.subi %[[END]], %[[BEGIN]] : index
26 // CHECK: %[[R3:.*]] = arith.addi %[[R2]], %[[R1]] : index
27 // CHECK: %[[R4:.*]] = arith.divsi %[[R3]], %[[STEP]] : index
28 // CHECK: %[[R5:.*]] = arith.subi %[[R4]], %[[C1]] : index
29 // CHECK: %[[R6:.*]] = arith.muli %[[R5]], %[[STEP]] : index
30 // CHECK: %[[R7:.*]] = arith.addi %[[BEGIN]], %[[R6]] : index
31 // CHECK: return %[[R7]] : index
35 func.func @uplift_while(%arg0: index, %arg1: index, %arg2: index) -> index {
36 %0 = scf.while (%arg3 = %arg0) : (index) -> (index) {
37 %1 = arith.cmpi sgt, %arg1, %arg3 : index
38 scf.condition(%1) %arg3 : index
40 ^bb0(%arg3: index):
41 "test.test1"(%arg3) : (index) -> ()
42 %added = arith.addi %arg3, %arg2 : index
43 "test.test2"(%added) : (index) -> ()
44 scf.yield %added : index
46 return %0 : index
50 // CHECK-SAME: (%[[BEGIN:.*]]: index, %[[END:.*]]: index, %[[STEP:.*]]: index) -> index
51 // CHECK: %[[C1:.*]] = arith.constant 1 : index
53 // CHECK: "test.test1"(%[[I]]) : (index) -> ()
54 // CHECK: %[[INC:.*]] = arith.addi %[[I]], %[[STEP]] : index
55 // CHECK: "test.test2"(%[[INC]]) : (index) -> ()
56 // CHECK: %[[R1:.*]] = arith.subi %[[STEP]], %[[C1]] : index
57 // CHECK: %[[R2:.*]] = arith.subi %[[END]], %[[BEGIN]] : index
58 // CHECK: %[[R3:.*]] = arith.addi %[[R2]], %[[R1]] : index
59 // CHECK: %[[R4:.*]] = arith.divsi %[[R3]], %[[STEP]] : index
60 // CHECK: %[[R5:.*]] = arith.subi %[[R4]], %[[C1]] : index
61 // CHECK: %[[R6:.*]] = arith.muli %[[R5]], %[[STEP]] : index
62 // CHECK: %[[R7:.*]] = arith.addi %[[BEGIN]], %[[R6]] : index
63 // CHECK: return %[[R7]] : index
67 func.func @uplift_while(%arg0: index, %arg1: index, %arg2: index) -> index {
68 %0 = scf.while (%arg3 = %arg0) : (index) -> (index) {
69 %1 = arith.cmpi slt, %arg3, %arg1 : index
70 scf.condition(%1) %arg3 : index
72 ^bb0(%arg3: index):
73 "test.test1"(%arg3) : (index) -> ()
74 %added = arith.addi %arg2, %arg3 : index
75 "test.test2"(%added) : (index) -> ()
76 scf.yield %added : index
78 return %0 : index
82 // CHECK-SAME: (%[[BEGIN:.*]]: index, %[[END:.*]]: index, %[[STEP:.*]]: index) -> index
83 // CHECK: %[[C1:.*]] = arith.constant 1 : index
85 // CHECK: "test.test1"(%[[I]]) : (index) -> ()
86 // CHECK: %[[INC:.*]] = arith.addi %[[STEP]], %[[I]] : index
87 // CHECK: "test.test2"(%[[INC]]) : (index) -> ()
88 // CHECK: %[[R1:.*]] = arith.subi %[[STEP]], %[[C1]] : index
89 // CHECK: %[[R2:.*]] = arith.subi %[[END]], %[[BEGIN]] : index
90 // CHECK: %[[R3:.*]] = arith.addi %[[R2]], %[[R1]] : index
91 // CHECK: %[[R4:.*]] = arith.divsi %[[R3]], %[[STEP]] : index
92 // CHECK: %[[R5:.*]] = arith.subi %[[R4]], %[[C1]] : index
93 // CHECK: %[[R6:.*]] = arith.muli %[[R5]], %[[STEP]] : index
94 // CHECK: %[[R7:.*]] = arith.addi %[[BEGIN]], %[[R6]] : index
95 // CHECK: return %[[R7]] : index
100 func.func @uplift_while(%arg0: index, %arg1: index, %arg2: index) -> (i32, f32) {
103 …%0:3 = scf.while (%arg4 = %c1, %arg3 = %arg0, %arg5 = %c2) : (i32, index, f32) -> (i32, index, f32…
104 %1 = arith.cmpi slt, %arg3, %arg1 : index
105 scf.condition(%1) %arg4, %arg3, %arg5 : i32, index, f32
107 ^bb0(%arg4: i32, %arg3: index, %arg5: f32):
109 %added = arith.addi %arg3, %arg2 : index
111 scf.yield %1, %added, %2 : i32, index, f32
117 // CHECK-SAME: (%[[BEGIN:.*]]: index, %[[END:.*]]: index, %[[STEP:.*]]: index) -> (i32, f32)