// RUN: cir-translate -cir-to-llvmir --disable-cc-lowering -o %t.ll %s // RUN: FileCheck --input-file=%t.ll -check-prefix=LLVM %s !u32i = !cir.int module { cir.func @blue(%arg0: !cir.bool) -> !u32i { %0 = cir.ternary(%arg0, true { %a = cir.const #cir.int<0> : !u32i cir.yield %a : !u32i }, false { %b = cir.const #cir.int<1> : !u32i cir.yield %b : !u32i }) : (!cir.bool) -> !u32i cir.return %0 : !u32i } } // LLVM-LABEL: define i32 {{.*}}@blue( // LLVM-SAME: i1 [[PRED:%[[:alnum:]]+]]) // LLVM: br i1 [[PRED]], label %[[B1:[[:alnum:]]+]], label %[[B2:[[:alnum:]]+]] // LLVM: [[B1]]: // LLVM: br label %[[M:[[:alnum:]]+]] // LLVM: [[B2]]: // LLVM: br label %[[M]] // LLVM: [[M]]: // LLVM: [[R:%[[:alnum:]]+]] = phi i32 [ 1, %[[B2]] ], [ 0, %[[B1]] ] // LLVM: br label %[[B3:[[:alnum:]]+]] // LLVM: [[B3]]: // LLVM: ret i32 [[R]]