# lir_passes "test:main" { let x: score = val 7s; mul %x, 8s; let y: score = val %x; use %y; } "test:op_to_cast" { let x: score = val 10s; add %x, 8s; let y: nint = cast nint %x; } "test:copy_prop" { # Also tests LIR DSE let x: score = val sco @s[] "foo"; let y: score = val %x; let z: score = val sco @s[] "bar"; add %z, %y; use %z; } "test:copy_elision" { call run "test:copy_elision_fn"; } "test:copy_elision_fn" score { let x: score = val &0; mul %x, 5s; use %x; let y: score = val &0; mul %y, 10s; use %y; } "test:copy_elision_add" score score : score { let x: score = val &0; let y: score = val &1; add %x, %y; retv 0, %x; }