; 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 --delta-passes=basic-blocks --test %python --test-arg %p/Inputs/remove-bbs.py %s -o %t ; RUN: cat %t | FileCheck -implicit-check-not=uninteresting %s define void @main() { interesting: ; CHECK-NOT: switch i32 0, label %uninteresting switch i32 0, label %uninteresting [ i32 0, label %uninteresting ] uninteresting: ret void interesting2: ; 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 ] interesting3: ; CHECK: br label %interesting2 br i1 true, label %interesting2, label %uninteresting }