Skip to content

Commit ca32afe

Browse files
committed
Update SSA after make_array
1 parent 6a46f90 commit ca32afe

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

compiler/noirc_evaluator/src/ssa/opt/unrolling.rs

+27-25
Original file line numberDiff line numberDiff line change
@@ -1180,32 +1180,33 @@ mod tests {
11801180

11811181
// The IDs are shifted by one compared to what the ACIR version printed.
11821182
let expected = "
1183-
brillig(inline) fn __validate_gt_remainder f0 {
1183+
brillig(inline) fn main f0 {
11841184
b0(v0: [u64; 6]):
11851185
inc_rc v0
1186-
inc_rc [u64 0, u64 0, u64 0, u64 0, u64 0, u64 0] of u64
1186+
v2 = make_array [u64 0, u64 0, u64 0, u64 0, u64 0, u64 0] : [u64; 6]
1187+
inc_rc v2
11871188
v3 = allocate -> &mut [u64; 6]
1188-
store [u64 0, u64 0, u64 0, u64 0, u64 0, u64 0] of u64 at v3
1189-
v5 = load v3 -> [u64; 6]
1190-
v7 = array_get v0, index u32 0 -> u64
1191-
v9 = add v7, u64 1
1192-
v10 = array_set v5, index u32 0, value v9
1193-
store v10 at v3
1194-
v11 = load v3 -> [u64; 6]
1195-
v13 = array_get v0, index u32 1 -> u64
1196-
v14 = add v13, u64 1
1197-
v15 = array_set v11, index u32 1, value v14
1198-
store v15 at v3
1199-
v16 = load v3 -> [u64; 6]
1200-
v18 = array_get v0, index u32 2 -> u64
1201-
v19 = add v18, u64 1
1202-
v20 = array_set v16, index u32 2, value v19
1203-
store v20 at v3
1189+
store v2 at v3
1190+
v4 = load v3 -> [u64; 6]
1191+
v6 = array_get v0, index u32 0 -> u64
1192+
v8 = add v6, u64 1
1193+
v9 = array_set v4, index u32 0, value v8
1194+
store v9 at v3
1195+
v10 = load v3 -> [u64; 6]
1196+
v12 = array_get v0, index u32 1 -> u64
1197+
v13 = add v12, u64 1
1198+
v14 = array_set v10, index u32 1, value v13
1199+
store v14 at v3
1200+
v15 = load v3 -> [u64; 6]
1201+
v17 = array_get v0, index u32 2 -> u64
1202+
v18 = add v17, u64 1
1203+
v19 = array_set v15, index u32 2, value v18
1204+
store v19 at v3
12041205
jmp b1()
12051206
b1():
1206-
v21 = load v3 -> [u64; 6]
1207+
v20 = load v3 -> [u64; 6]
12071208
dec_rc v0
1208-
return v21
1209+
return v20
12091210
}
12101211
";
12111212
assert_normalized_ssa_equals(ssa, expected);
@@ -1341,12 +1342,13 @@ mod tests {
13411342
let src = format!(
13421343
"
13431344
// After `static_assert` and `assert_constant`:
1344-
brillig(inline) fn __validate_gt_remainder f0 {{
1345+
brillig(inline) fn main f0 {{
13451346
b0(v0: [u64; 6]):
13461347
inc_rc v0
1347-
inc_rc [u64 0, u64 0, u64 0, u64 0, u64 0, u64 0] of u64
1348+
v3 = make_array [u64 0, u64 0, u64 0, u64 0, u64 0, u64 0] : [u64; 6]
1349+
inc_rc v3
13481350
v4 = allocate -> &mut [u64; 6]
1349-
store [u64 0, u64 0, u64 0, u64 0, u64 0, u64 0] of u64 at v4
1351+
store v3 at v4
13501352
jmp b1(u32 0)
13511353
b1(v1: u32):
13521354
v7 = lt v1, u32 {num_iterations}
@@ -1356,9 +1358,9 @@ mod tests {
13561358
v10 = array_get v0, index v1 -> u64
13571359
v12 = add v10, u64 1
13581360
v13 = array_set v9, index v1, value v12
1359-
v15 = add v1, u32 1 // duplicate unused increment
1361+
v15 = add v1, u32 1
13601362
store v13 at v4
1361-
v16 = add v1, u32 1
1363+
v16 = add v1, u32 1 // duplicate
13621364
jmp b1(v16)
13631365
b2():
13641366
v8 = load v4 -> [u64; 6]

0 commit comments

Comments
 (0)