forked from OSchip/llvm-project
[SCCP] Add assume non null test (NFC)
This commit is contained in:
parent
632a89e866
commit
f4199b8f0b
|
@ -46,3 +46,30 @@ define void @basic(i32 %v) {
|
|||
call void @use(i1 %c8)
|
||||
ret void
|
||||
}
|
||||
|
||||
define void @nonnull(i32* %v) {
|
||||
; CHECK-LABEL: @nonnull(
|
||||
; CHECK-NEXT: [[A:%.*]] = icmp ne i32* [[V:%.*]], null
|
||||
; CHECK-NEXT: call void @llvm.assume(i1 [[A]])
|
||||
; CHECK-NEXT: [[C1:%.*]] = icmp eq i32* [[V]], null
|
||||
; CHECK-NEXT: call void @use(i1 [[C1]])
|
||||
; CHECK-NEXT: [[C2:%.*]] = icmp ne i32* [[V]], null
|
||||
; CHECK-NEXT: call void @use(i1 [[C2]])
|
||||
; CHECK-NEXT: [[C3:%.*]] = icmp eq i32* null, [[V]]
|
||||
; CHECK-NEXT: call void @use(i1 [[C3]])
|
||||
; CHECK-NEXT: [[C4:%.*]] = icmp ne i32* null, [[V]]
|
||||
; CHECK-NEXT: call void @use(i1 [[C4]])
|
||||
; CHECK-NEXT: ret void
|
||||
;
|
||||
%a = icmp ne i32* %v, null
|
||||
call void @llvm.assume(i1 %a)
|
||||
%c1 = icmp eq i32* %v, null
|
||||
call void @use(i1 %c1)
|
||||
%c2 = icmp ne i32* %v, null
|
||||
call void @use(i1 %c2)
|
||||
%c3 = icmp eq i32* null, %v
|
||||
call void @use(i1 %c3)
|
||||
%c4 = icmp ne i32* null, %v
|
||||
call void @use(i1 %c4)
|
||||
ret void
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue