// RUN: %target-sil-opt -enable-sil-verify-all %s -inline -dce | %FileCheck %s -check-prefix=REGULAR // RUN: %target-sil-opt -enable-sil-verify-all %s -inline -dce -ignore-always-inline | %FileCheck %s -check-prefix=IGNORED sil_stage canonical // REGULAR: sil [Osize] @caller // IGNORED: sil [Osize] @caller sil [Osize] @caller : $@convention(thin) () -> () { bb0: // REGULAR-NOT: function_ref @callee // REGULAR: function_ref @foobar // IGNORED: function_ref @callee %d1 = function_ref @callee : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () %9999 = tuple() return %9999 : $() } sil @foobar : $@convention(thin) () -> () // callee is "expensive" enough to not get inlined unless [always_inline] is used // REGULAR: sil [always_inline] [Osize] @callee // IGNORED: sil [always_inline] [Osize] @callee sil [always_inline] [Osize] @callee : $@convention(thin) () -> () { bb0: %d1 = function_ref @foobar : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () apply %d1() : $@convention(thin) () -> () %9999 = tuple() return %9999 : $() }