llvm-project/llvm/test/tools/llvm-reduce/remove-bbs-illegal.ll
John Regehr d469f136be oops-- I pushed previous commit from a fresh checkout and forgot to
git add the new test case, here it is

Differential Revision: https://reviews.llvm.org/D131026
2022-08-02 22:27:28 -06:00

26 lines
759 B
LLVM

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