============ initial translation from Move ================
[variant baseline]
public fun BoolFootprint::call_get($t0|a: address) {
var $t1: address
var $t2: bool
var $t3: u64
0: $t1 := move($t0)
1: $t2 := BoolFootprint::global_get($t1)
2: if ($t2) goto 6 else goto 3
3: label L1
4: $t3 := 22
5: abort($t3)
6: label L0
7: return ()
}
[variant baseline]
public fun BoolFootprint::global_get($t0|a: address): bool {
var $t1|tmp#$1: bool
var $t2: address
var $t3: bool
var $t4: address
var $t5: &BoolFootprint::B
var $t6: &bool
var $t7: bool
var $t8: bool
var $t9: bool
0: $t2 := copy($t0)
1: $t3 := exists<BoolFootprint::B>($t2)
2: if ($t3) goto 3 else goto 10
3: label L0
4: $t4 := move($t0)
5: $t5 := borrow_global<BoolFootprint::B>($t4)
6: $t6 := borrow_field<BoolFootprint::B>.b($t5)
7: $t7 := read_ref($t6)
8: $t1 := $t7
9: goto 14
10: label L2
11: $t8 := false
12: $t1 := $t8
13: goto 14
14: label L3
15: $t9 := move($t1)
16: return $t9
}
============ after pipeline `read_write_set` ================
[variant baseline]
public fun BoolFootprint::call_get($t0|a: address) {
var $t1: address
var $t2: bool
var $t3: u64
# Accesses:
# Formal(0): Read
# Formal(0)/0x1::BoolFootprint::B: Read
# Formal(0)/0x1::BoolFootprint::B/b: Read
#
# Locals:
#
0: $t1 := move($t0)
1: $t2 := BoolFootprint::global_get($t1)
2: if ($t2) goto 6 else goto 3
3: label L1
4: $t3 := 22
5: abort($t3)
6: label L0
7: return ()
}
[variant baseline]
public fun BoolFootprint::global_get($t0|a: address): bool {
var $t1|tmp#$1: bool
var $t2: address
var $t3: bool
var $t4: address
var $t5: &BoolFootprint::B
var $t6: &bool
var $t7: bool
var $t8: bool
var $t9: bool
# Accesses:
# Formal(0): Read
# Formal(0)/0x1::BoolFootprint::B: Read
# Formal(0)/0x1::BoolFootprint::B/b: Read
#
# Locals:
# Ret(0): Formal(0)/0x1::BoolFootprint::B/b
#
0: $t2 := copy($t0)
1: $t3 := exists<BoolFootprint::B>($t2)
2: if ($t3) goto 3 else goto 10
3: label L0
4: $t4 := move($t0)
5: $t5 := borrow_global<BoolFootprint::B>($t4)
6: $t6 := borrow_field<BoolFootprint::B>.b($t5)
7: $t7 := read_ref($t6)
8: $t1 := $t7
9: goto 14
10: label L2
11: $t8 := false
12: $t1 := $t8
13: goto 14
14: label L3
15: $t9 := move($t1)
16: return $t9
}