midenc-dialect-scf 0.8.0

Miden IR Structured Control Flow Dialect
builtin.function public extern("C") @fold_redundant_yields_subset_if_switch(%0: u32) -> u32 {
    %8 = test.constant 44 : u32;
    %7 = test.constant 33 : u32;
    %9 = test.constant 55 : u32;
    %6 = test.constant 22 : u32;
    %3 = test.constant 11 : u32;
    %4 = test.constant 0 : u32;
    %5 = test.eq %0, %4;
    %17 = scf.if %5 then {
        scf.yield %6 : (u32);
    } else {
        %19 = scf.index_switch %0 
        case 1 {
            scf.yield %7 : (u32);
        }
        case 2 {
            scf.yield %8 : (u32);
        }
        default {
            scf.yield %9 : (u32);
        } : (u32);
        scf.yield %19 : (u32);
    } : (i1) -> (u32);
    %10 = test.add %3, %17 <{ overflow = #builtin.overflow<checked> }>;
    %11 = test.add %10, %3 <{ overflow = #builtin.overflow<checked> }>;
    builtin.ret %11 : (u32);
};