blob: 9e49bc531688e32fc860c6f3d0a88edc9442cf04 [file] [log] [blame]
; Test that llvm-reduce can remove uninteresting Basic Blocks, and remove them from instructions (i.e. SwitchInst, BranchInst and IndirectBrInst)
; Note: if an uninteresting BB is the default case for a switch, the instruction is removed altogether (since the default case cannot be replaced)
; RUN: llvm-reduce --test %python --test-arg %p/Inputs/ %s -o %t
; RUN: cat %t | FileCheck -implicit-check-not=uninteresting %s
define void @main() {
; CHECK-NOT: switch i32 0, label %uninteresting
switch i32 0, label %uninteresting [
i32 0, label %uninteresting
ret void
; CHECK: switch i32 1, label %interesting3
switch i32 1, label %interesting3 [
; CHECK-NOT: i32 0, label %uninteresting
i32 0, label %uninteresting
; CHECK: i32 1, label %interesting3
i32 1, label %interesting3
; CHECK: br label %interesting2
br i1 true, label %interesting2, label %uninteresting