You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
46
external/llvm/test/Transforms/Inline/nonnull.ll
vendored
46
external/llvm/test/Transforms/Inline/nonnull.ll
vendored
@ -1,46 +0,0 @@
|
||||
; RUN: opt -S -inline %s | FileCheck %s
|
||||
; RUN: opt -S -passes='cgscc(inline)' %s | FileCheck %s
|
||||
|
||||
declare void @foo()
|
||||
declare void @bar()
|
||||
|
||||
define void @callee(i8* %arg) {
|
||||
%cmp = icmp eq i8* %arg, null
|
||||
br i1 %cmp, label %expensive, label %done
|
||||
|
||||
; This block is designed to be too expensive to inline. We can only inline
|
||||
; callee if this block is known to be dead.
|
||||
expensive:
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
call void @foo()
|
||||
ret void
|
||||
|
||||
done:
|
||||
call void @bar()
|
||||
ret void
|
||||
}
|
||||
|
||||
; Positive test - arg is known non null
|
||||
define void @caller(i8* nonnull %arg) {
|
||||
; CHECK-LABEL: @caller
|
||||
; CHECK: call void @bar()
|
||||
call void @callee(i8* nonnull %arg)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Negative test - arg is not known to be non null
|
||||
define void @caller2(i8* %arg) {
|
||||
; CHECK-LABEL: @caller2
|
||||
; CHECK: call void @callee(
|
||||
call void @callee(i8* %arg)
|
||||
ret void
|
||||
}
|
||||
|
Reference in New Issue
Block a user