// RUN: %target-swift-frontend -emit-ir %s | FileCheck %s
//sil_stage canonical

import Builtin
import Swift
import SwiftShims

private class XXX{}

sil @XXX_dtor : $@convention(method) (@owned XXX) -> ()
sil @XXX_ctor : $@convention(method) (@owned XXX) -> @owned XXX

// CHECK: target datalayout

// No @owned or @out parameters -- function is read only at LLVM level

// CHECK: ; Function Attrs: readonly
// CHECK-NEXT: define{{( protected)?}} void @function_foo(
sil [readonly] @function_foo : $@convention(thin) (Int) -> () {
bb0(%0 : $Int):
  %1 = tuple ()
  return %1 : $()
}

// There's an @owned parameter, and destructors can call arbitrary code
// -- function is not read only at LLVM level

// CHECK-NOT: ; Function Attrs: readonly
// CHECK: define{{( protected)?}} void @function_bar(
sil [readonly] @function_bar : $@convention(thin) (@owned XXX) -> () {
bb0(%0 : $XXX):
  strong_release %0 : $XXX
  %1 = tuple ()
  return %1 : $()
}

// There's an @out parameter -- function is not read only at LLVM level

// CHECK-NOT: ; Function Attrs: readonly
// CHECK: define{{( protected)?}} void @function_baz(
sil [readonly] @function_baz : $@convention(thin) () -> (@out Any) {
bb0(%0 : $*Any):
  init_existential_addr %0 : $*Any, $()
  %1 = tuple ()
  return %1 : $()
}

sil_vtable XXX {
  #XXX.deinit!deallocator: XXX_dtor
  #XXX.init!initializer.1: XXX_ctor
}
