============ initial translation from Move ================ [variant baseline] fun SimplePackUnpack::pack_unpack($t0|a: address): address { var $t1|s: SimplePackUnpack::S var $t2: address var $t3: SimplePackUnpack::S var $t4: SimplePackUnpack::S var $t5: address 0: $t2 := move($t0) 1: $t3 := pack SimplePackUnpack::S($t2) 2: $t1 := $t3 3: $t4 := move($t1) 4: $t5 := SimplePackUnpack::unpack($t4) 5: return $t5 } [variant baseline] fun SimplePackUnpack::unpack($t0|s: SimplePackUnpack::S): address { var $t1: &SimplePackUnpack::S var $t2: &address var $t3: address 0: $t1 := borrow_local($t0) 1: $t2 := borrow_field.a1($t1) 2: $t3 := read_ref($t2) 3: return $t3 } ============ after pipeline `read_write_set` ================ [variant baseline] fun SimplePackUnpack::pack_unpack($t0|a: address): address { var $t1|s: SimplePackUnpack::S var $t2: address var $t3: SimplePackUnpack::S var $t4: SimplePackUnpack::S var $t5: address # Accesses: # Formal(0): Read # # Locals: # Ret(0): Formal(0) # 0: $t2 := move($t0) 1: $t3 := pack SimplePackUnpack::S($t2) 2: $t1 := $t3 3: $t4 := move($t1) 4: $t5 := SimplePackUnpack::unpack($t4) 5: return $t5 } [variant baseline] fun SimplePackUnpack::unpack($t0|s: SimplePackUnpack::S): address { var $t1: &SimplePackUnpack::S var $t2: &address var $t3: address # Accesses: # Formal(0): Read # Formal(0)/a1: Read # # Locals: # Ret(0): Formal(0)/a1 # 0: $t1 := borrow_local($t0) 1: $t2 := borrow_field.a1($t1) 2: $t3 := read_ref($t2) 3: return $t3 }