============ initial translation from Move ================
[variant baseline]
fun MultiDeps::add_to($t0|s: &mut MultiDeps::S, $t1|t: &MultiDeps::T, $t2|v: bool) {
var $t3|tmp#$3: u64
var $t4: bool
var $t5: &MultiDeps::T
var $t6: &mut MultiDeps::S
var $t7: &mut u64
var $t8: u64
var $t9: &MultiDeps::T
var $t10: &u64
var $t11: u64
var $t12: u64
var $t13: &mut MultiDeps::S
var $t14: &mut u64
0: $t4 := move($t2)
1: if ($t4) goto 2 else goto 10
2: label L0
3: $t5 := move($t1)
4: destroy($t5)
5: $t6 := copy($t0)
6: $t7 := borrow_field<MultiDeps::S>.f($t6)
7: $t8 := read_ref($t7)
8: $t3 := $t8
9: goto 16
10: label L2
11: $t9 := move($t1)
12: $t10 := borrow_field<MultiDeps::T>.f($t9)
13: $t11 := read_ref($t10)
14: $t3 := $t11
15: goto 16
16: label L3
17: $t12 := move($t3)
18: $t13 := move($t0)
19: $t14 := borrow_field<MultiDeps::S>.f($t13)
20: write_ref($t14, $t12)
21: return ()
}
============ after pipeline `read_write_set` ================
[variant baseline]
fun MultiDeps::add_to($t0|s: &mut MultiDeps::S, $t1|t: &MultiDeps::T, $t2|v: bool) {
var $t3|tmp#$3: u64
var $t4: bool
var $t5: &MultiDeps::T
var $t6: &mut MultiDeps::S
var $t7: &mut u64
var $t8: u64
var $t9: &MultiDeps::T
var $t10: &u64
var $t11: u64
var $t12: u64
var $t13: &mut MultiDeps::S
var $t14: &mut u64
# Accesses:
# Formal(0): Read
# Formal(0)/f: ReadWrite
# Formal(1): Read
# Formal(1)/f: Read
# Formal(2): Read
#
# Locals:
# Formal(0)/f: {Formal(0)/f, Formal(1)/f, }
#
0: $t4 := move($t2)
1: if ($t4) goto 2 else goto 10
2: label L0
3: $t5 := move($t1)
4: destroy($t5)
5: $t6 := copy($t0)
6: $t7 := borrow_field<MultiDeps::S>.f($t6)
7: $t8 := read_ref($t7)
8: $t3 := $t8
9: goto 16
10: label L2
11: $t9 := move($t1)
12: $t10 := borrow_field<MultiDeps::T>.f($t9)
13: $t11 := read_ref($t10)
14: $t3 := $t11
15: goto 16
16: label L3
17: $t12 := move($t3)
18: $t13 := move($t0)
19: $t14 := borrow_field<MultiDeps::S>.f($t13)
20: write_ref($t14, $t12)
21: return ()
}