midenc-dialect-scf 0.8.0

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