move-stackless-bytecode 0.3.2

Move stackless bytecode
Documentation
============ 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 ()
}