// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil %s -emit-ir | %FileCheck %s

sil_stage canonical

import Builtin
import Swift

var g: Int

public func inoutAccess()

sil_global hidden @$S20tsan_instrumentation1gSiv : $Int

// CHECK: @"$S20tsan_instrumentation1gSiv" = hidden global [[GLOBAL:%.*]] zeroinitializer, align {{.*}}

// The inout access builtin is currently turned into a call to the __tsan_write1
// compiler-rt instrumentation. Eventually we will add a specific
// instrumentation callback for tsan inout accesses to compiler-rt.

// CHECK-LABEL: define{{( protected)?}} swiftcc void @"$S20tsan_instrumentation11inoutAccessyyF"()
// foo() -> ()
sil @$S20tsan_instrumentation11inoutAccessyyF : $@convention(thin) () -> () {
bb0:
  %0 = global_addr @$S20tsan_instrumentation1gSiv : $*Int
  %1 = builtin "tsanInoutAccess"(%0 : $*Int) : $()
// CHECK:  call void @__tsan_external_write(i8* bitcast ([[GLOBAL]]* @"$S20tsan_instrumentation1gSiv" to i8*), i8* null, i8* inttoptr ({{(i32|i64)}} 1 to i8*))

  %2 = tuple ()
  return %2 : $()
// CHECK:   ret void
}
