// RUN: %target-sil-opt -enable-sil-verify-all %s -specdevirt -code-sinking  -emit-sorted-sil | %FileCheck %s

sil_stage canonical

import Builtin
import Swift

class Foo {
  func ping() -> Int
}

sil @_TFC4main3Foo4pingfS0_FT_Si : $@convention(method) (@guaranteed Foo) -> Int
sil @_TFC4main3FoocfMS0_FT_S0_ : $@convention(method) (@owned Foo) -> @owned Foo

// CHECK-LABEL: _TF4main7my_mainFCS_3FooSi
// CHECK: bb0
// CHECK-NOT: strong_retain
// CHECK: checked_cast_br [exact] %0 : $Foo to $Foo

// CHECK: bb1
// CHECK: class_method
// CHECK-NEXT: apply
// CHECK: strong_release

// CHECK: bb2
// CHECK: function_ref
// CHECK: apply
// CHECK: strong_release

// CHECK: bb3
// CHECK-NOT: strong_release
sil @_TF4main7my_mainFCS_3FooSi : $@convention(thin) (@owned Foo) -> Int {
bb0(%0 : $Foo):
  debug_value %0 : $Foo, let, name "x" // id: %1
  %3 = class_method %0 : $Foo, #Foo.ping!1 : (Foo) -> () -> Int, $@convention(method) (@guaranteed Foo) -> Int // user: %4
  %4 = apply %3(%0) : $@convention(method) (@guaranteed Foo) -> Int // user: %6
  strong_release %0 : $Foo                        // id: %5
  return %4 : $Int                                // id: %6
}

sil_vtable Foo {
  #Foo.ping!1: @_TFC4main3Foo4pingfS0_FT_Si  // main.Foo.ping (main.Foo)() -> Swift.Int
  #Foo.init!initializer.1: @_TFC4main3FoocfMS0_FT_S0_  // main.Foo.init (main.Foo.Type)() -> main.Foo
}
