1 ; Ensure that llvm-reduce doesn't try to remove the first BB of a
2 ; function when the second BB has multiple predecessors, since that
3 ; results in invalid IR. This issue was fixed by:
4 ; https://reviews.llvm.org/D131026
6 ; RUN: llvm-reduce --delta-passes=basic-blocks --test %python --test-arg %p/Inputs/remove-bbs.py -abort-on-invalid-reduction %s -o %t
8 define void @f(ptr %x0) {
10 %x2 = alloca ptr, i32 0, align 8
11 %x3 = alloca ptr, i32 0, align 8
12 br label %interesting1
14 ; this block has 2 predecessors and can't become the entry block
16 %x5 = icmp ne ptr %x0, null
17 br i1 %x5, label %interesting2, label %interesting1
20 store ptr null, ptr null, align 8
21 br label %interesting3