26 lines
460 B
LLVM
26 lines
460 B
LLVM
|
; RUN: opt -print-predicateinfo < %s 2>&1 | FileCheck %s
|
||
|
|
||
|
declare void @foo()
|
||
|
declare void @llvm.assume(i1)
|
||
|
|
||
|
define void @bar(i32* %p) {
|
||
|
entry:
|
||
|
; CHECK-LABEL: @bar
|
||
|
br label %end
|
||
|
|
||
|
unreachable1:
|
||
|
%v1 = load i32, i32* %p, align 4
|
||
|
%c1 = icmp eq i32 %v1, 0
|
||
|
call void @llvm.assume(i1 %c1)
|
||
|
br label %unreachable2
|
||
|
|
||
|
unreachable2:
|
||
|
%v2 = load i32, i32* %p, align 4
|
||
|
%c2 = icmp eq i32 %v2, 0
|
||
|
call void @llvm.assume(i1 %c2)
|
||
|
br label %end
|
||
|
|
||
|
end:
|
||
|
ret void
|
||
|
}
|