mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 22:36:06 +00:00
39 lines
1.2 KiB
LLVM
39 lines
1.2 KiB
LLVM
; 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
|
|
}
|