// regex: ID=[[:alpha:]0-9_]+ script { entry fn main() -> () { local b256 tmp entry(): v0 = const bool false v1 = const bool true v2 = call c(v0, v1) v3 = get_local ptr b256, tmp store v2 to v3 // check: $(call_val=$ID) = call c($ID, $ID, $ID) // check: $(load_val=$ID) = load $call_val // check: $(tmp_val=$ID) = get_local ptr b256, tmp // check: store $load_val to $tmp_val v4 = const unit () ret () v4 } fn c(p: bool, q: bool) -> b256 { // check: local b256 $(ret_val0=$ID) // check: local b256 $(ret_val1=$ID) // check: local b256 $(ret_val2=$ID) entry(p: bool, q: bool): cbr p, block0(), block1() block0(): v0 = call a() br block5(v0) // check: $(ptr_arg_val=$ID) = get_local ptr b256, $ret_val0 // check: $(ret_val=$ID) = call a($ptr_arg_val) // check: $(load_val=$ID) = load $ret_val // check: br block5($load_val) block1(): cbr q, block2(), block3() block2(): v1 = call a() br block5(v1) // check: $(ptr_arg_val=$ID) = get_local ptr b256, $ret_val1 // check: $(ret_val=$ID) = call a($ptr_arg_val) // check: $(load_val=$ID) = load $ret_val // check: br block5($load_val) block3(): v2 = call b() br block5(v2) // check: $(ptr_arg_val=$ID) = get_local ptr b256, $ret_val2 // check: $(ret_val=$ID) = call b($ptr_arg_val) // check: $(load_val=$ID) = load $ret_val // check: br block5($load_val) block5(v3: b256): ret b256 v3 } fn a() -> b256 { local b256 twobee = const b256 0x2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b entry(): v0 = get_local ptr b256, twobee v1 = load v0 ret b256 v1 } fn b() -> b256 { local b256 dada = const b256 0xdadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada entry(): v0 = get_local ptr b256, dada v1 = load v0 ret b256 v1 } }