ccp_example.hir 563 B
fn tricky(x: i32) -> i32
one = constant(i32, 1)
two = constant(i32, 2)
loop = region(start, if2_true)
idx = phi(loop, x, idx_dec)
val = phi(loop, one, later_val)
b = ne(one, val)
if1 = if(loop, b)
if1_false = projection(if1, 0)
if1_true = projection(if1, 1)
middle = region(if1_false, if1_true)
inter_val = sub(two, val)
later_val = phi(middle, inter_val, two)
idx_dec = sub(idx, one)
cond = gte(idx_dec, one)
if2 = if(middle, cond)
if2_false = projection(if2, 0)
if2_true = projection(if2, 1)
r = return(if2_false, later_val)