// RUN: %target-swift-frontend %s -profile-generate -profile-coverage-mapping -emit-ir -o - -module-name=irgen | %FileCheck %s

// CHECK-NOT: @__llvm_coverage_mapping

sil_stage canonical

import Builtin
import Swift
import SwiftShims

// main
sil @main : $@convention(c) (Int32, UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>) -> Int32 {
bb0(%0 : $Int32, %1 : $UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>):
  %2 = string_literal utf8 "<stdin>:__tlcd_line:1:1" // user: %6
  %3 = integer_literal $Builtin.Int64, 0          // user: %6
  %4 = integer_literal $Builtin.Int32, 2          // user: %6
  %5 = integer_literal $Builtin.Int32, 0          // user: %6

  // Pass an invalid SIL value to the int_instrprof_increment intrinsic
  // to force IRGen to drop it.
  %6 = builtin "int_instrprof_increment"(%3 : $Builtin.Int64, %3 : $Builtin.Int64, %4 : $Builtin.Int32, %5 : $Builtin.Int32) : $()

  return %0 : $Int32                             // id: %33
} // end sil function 'main'

sil_coverage_map "<stdin>" "__tlcd_line:1:1" "<stdin>:__tlcd_line:1:1" 0 {	// __tlcd_line:1:1
  1:19 -> 1:20 : 1
  1:23 -> 1:24 : (0 - 1)
  1:1 -> 1:24 : 0
}
