============ 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($t2) 2: if ($t3) goto 3 else goto 10 3: label L0 4: $t4 := move($t0) 5: $t5 := borrow_global($t4) 6: $t6 := borrow_field.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($t2) 2: if ($t3) goto 3 else goto 10 3: label L0 4: $t4 := move($t0) 5: $t5 := borrow_global($t4) 6: $t6 := borrow_field.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 }