blob: 770d6a8ae45af5f154b442ee4688811821b4d0f7 [file] [log] [blame]
// RUN: %target-sil-opt -enable-sil-verify-all %s -always-inline | %FileCheck %s
sil @doSomething1 : $@convention(thin) () -> ()
sil @doSomething2 : $@convention(thin) () -> ()
sil @doSomething3 : $@convention(thin) () -> ()
sil [ossa] [always_inline] @do_inline_this : $@convention(thin) () -> () {
bb0:
%d1 = function_ref @doSomething1 : $@convention(thin) () -> ()
apply %d1() : $@convention(thin) () -> ()
%9999 = tuple()
return %9999 : $()
}
sil [ossa] @donot_inline_this : $@convention(thin) () -> () {
bb0:
%d1 = function_ref @doSomething2 : $@convention(thin) () -> ()
apply %d1() : $@convention(thin) () -> ()
%9999 = tuple()
return %9999 : $()
}
sil [ossa] @empty_function : $@convention(thin) () -> () {
bb0:
%9999 = tuple()
return %9999 : $()
}
// CHECK-LABEL: sil [ossa] @caller : $@convention(thin) () -> () {
// CHECK-NOT: function_ref @do_inline_this : $@convention(thin) () -> ()
// CHECK: function_ref @donot_inline_this : $@convention(thin) () -> ()
// CHECK: function_ref @empty_function : $@convention(thin) () -> ()
// CHECK: } // end sil function 'caller'
sil [ossa] @caller : $@convention(thin) () -> () {
bb0:
%c1 = function_ref @do_inline_this : $@convention(thin) () -> ()
apply %c1() : $@convention(thin) () -> ()
%c2 = function_ref @donot_inline_this : $@convention(thin) () -> ()
apply %c2() : $@convention(thin) () -> ()
%c3 = function_ref @empty_function : $@convention(thin) () -> ()
apply %c3() : $@convention(thin) () -> ()
%9999 = tuple()
return %9999 : $()
}