[InstCombine] add test to show missed fold using llvm.assume; NFC

llvm-svn: 291472
This commit is contained in:
Sanjay Patel 2017-01-09 20:18:30 +00:00
parent 1028eb06fe
commit 3ac455e916

View File

@ -176,6 +176,19 @@ define i32 @icmp2(i32 %a) #0 {
ret i32 %lnot.ext
}
; FIXME: If the 'not' of a condition is known true, then the condition must be false.
define i1 @assume_not(i1 %cond) {
; CHECK-LABEL: @assume_not(
; CHECK-NEXT: [[NOTCOND:%.*]] = xor i1 [[COND:%.*]], true
; CHECK-NEXT: call void @llvm.assume(i1 [[NOTCOND]])
; CHECK-NEXT: ret i1 [[COND]]
;
%notcond = xor i1 %cond, true
call void @llvm.assume(i1 %notcond)
ret i1 %cond
}
declare void @escape(i32* %a)
; Canonicalize a nonnull assumption on a load into metadata form.