// RUN: %target-sil-opt -enable-sil-ownership -enable-sil-verify-all %s -raw-sil-inst-lowering | %FileCheck %s

sil_stage raw

import Builtin
import Swift

class SomeClass {}

// CHECK-LABEL: sil [ossa] @non_box_assign_trivial
// CHECK-NOT: load
// CHECK: store
// CHECK: return
sil [ossa] @non_box_assign_trivial : $@convention(thin) (@inout Bool, Bool) -> () {
bb0(%0 : $*Bool, %1 : $Bool):
  assign %1 to %0 : $*Bool
  %9 = tuple ()
  return %9 : $()
}

// CHECK-LABEL: sil [ossa] @non_box_assign
// CHECK: load
// CHECK: store
// CHECK: return
sil [ossa] @non_box_assign : $@convention(thin) (@inout SomeClass, @owned SomeClass) -> () {
bb0(%0 : $*SomeClass, %1 : @owned $SomeClass):
  assign %1 to %0 : $*SomeClass
  %9 = tuple ()
  return %9 : $()
}
