midenc-dialect-scf 0.7.2

Miden IR Structured Control Flow Dialect
builtin.function public extern("C") @fold_redundant_yields_many_switch(%0: u32) -> u32 {
    %7 = test.constant 11 : u32;
    %8 = test.constant 22 : u32;
    %9 = test.constant 33 : u32;
    %24, %25, %26, %27, %28 = scf.index_switch %0 
    case 1 {
        %10 = test.constant 100 : u32;
        %11 = test.constant 101 : u32;
        scf.yield %7, %8, %10, %9, %11 : (u32, u32, u32, u32, u32);
    }
    case 2 {
        %12 = test.constant 200 : u32;
        %13 = test.constant 201 : u32;
        scf.yield %7, %8, %12, %9, %13 : (u32, u32, u32, u32, u32);
    }
    case 3 {
        %14 = test.constant 300 : u32;
        %15 = test.constant 301 : u32;
        scf.yield %7, %8, %14, %9, %15 : (u32, u32, u32, u32, u32);
    }
    default {
        %16 = test.constant 400 : u32;
        %17 = test.constant 401 : u32;
        scf.yield %7, %8, %16, %9, %17 : (u32, u32, u32, u32, u32);
    } : (u32, u32, u32, u32, u32);
    %18 = test.add %24, %25 <{ overflow = #builtin.overflow<checked> }>;
    %19 = test.add %18, %26 <{ overflow = #builtin.overflow<checked> }>;
    %20 = test.add %19, %27 <{ overflow = #builtin.overflow<checked> }>;
    %21 = test.add %20, %28 <{ overflow = #builtin.overflow<checked> }>;
    builtin.ret %21 : (u32);
};