24 lines
457 B
LLVM
24 lines
457 B
LLVM
; RUN: opt -passes=inline -inline-threshold=10 -S < %s | FileCheck %s
|
|
|
|
declare void @foo()
|
|
|
|
; CHECK-LABEL: @caller
|
|
; CHECK-NOT: %res = call i64 @callee(ptr %p)
|
|
define i64 @caller(ptr %p) {
|
|
%res = call i64 @callee(ptr %p)
|
|
ret i64 %res
|
|
}
|
|
|
|
define i64 @callee(ptr %p) {
|
|
%null_check = icmp eq ptr %p, null
|
|
br i1 %null_check, label %is_null, label %non_null, !make.implicit !0
|
|
|
|
is_null:
|
|
call void @foo()
|
|
ret i64 0
|
|
|
|
non_null:
|
|
ret i64 1
|
|
}
|
|
|
|
!0 = !{}
|