; Ensure that llvm-reduce doesn't try to introduce a 0 or 1
; into a SwitchInst that already has one of those
; RUN: llvm-reduce --delta-passes=operands-zero --test %python --test-arg %p/Inputs/remove-bbs.py -abort-on-invalid-reduction %s -o %t
; RUN: llvm-reduce --delta-passes=operands-one --test %python --test-arg %p/Inputs/remove-bbs.py -abort-on-invalid-reduction %s -o %t
declare i32 @g()
define void @f(ptr %0, i1 %1) {
%3 = alloca i32, align 4
store ptr null, ptr %0, align 8
%4 = call i32 @g()
br i1 %1, label %5, label %7
5: ; preds = %2
br label %6
6: ; preds = %5
store i32 0, ptr %3, align 4
br label %interesting2
7: ; preds = %2
br label %interesting2
interesting2: ; preds = %7, %6
%x9 = load i32, ptr %3, align 4
switch i32 %x9, label %uninteresting [
i32 3, label %interesting1
i32 12, label %interesting1
]
interesting1: ; preds = %8, %8
ret void
uninteresting: ; preds = %8
unreachable
}