mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
49 lines
1.8 KiB
Swift
49 lines
1.8 KiB
Swift
// RUN: %target-swift-frontend %s -O -I %t -emit-sil -emit-verbose-sil -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-SIL
|
|
// RUN: %target-swift-frontend %s -O -I %t -emit-ir -g -o - | FileCheck %s
|
|
|
|
#setline 100 "abc.swift"
|
|
@inline(__always)
|
|
func h(k : Int) -> Int { // 101
|
|
return k // 102
|
|
}
|
|
|
|
#setline 200 "abc.swift"
|
|
@inline(__always)
|
|
func g(j : Int) -> Int { // 201
|
|
return h(j) // 202
|
|
}
|
|
|
|
#setline 301 "abc.swift"
|
|
public func f(i : Int) -> Int { // 301
|
|
return g(i) // 302
|
|
}
|
|
|
|
// CHECK-SIL: sil {{.*}}@_TF9inlinedAt1fFSiSi :
|
|
// CHECK-SIL-NOT: return
|
|
// CHECK-SIL: debug_value %0 : $Int, let, name "k", argno 1
|
|
// CHECK-SIL-SAME: line:101:8:in_prologue
|
|
// CHECK-SIL-SAME: perf_inlined_at line:202:10
|
|
// CHECK-SIL-SAME: perf_inlined_at line:302:10
|
|
|
|
// CHECK: define {{.*}}@_TF9inlinedAt1fFSiSi
|
|
// CHECK-NOT: ret
|
|
// CHECK: @llvm.dbg.value
|
|
// CHECK: @llvm.dbg.value
|
|
// CHECK: @llvm.dbg.value({{.*}}), !dbg ![[L1:.*]]
|
|
|
|
// CHECK: ![[F:.*]] = distinct !DISubprogram(name: "f",
|
|
// CHECK: ![[G:.*]] = distinct !DISubprogram(name: "g",
|
|
// CHECK: ![[H:.*]] = distinct !DISubprogram(name: "h",
|
|
|
|
// CHECK: ![[L3:.*]] = !DILocation(line: 302, column: 13,
|
|
// CHECK-SAME: scope: ![[F_SCOPE:.*]])
|
|
// CHECK: ![[F_SCOPE]] = distinct !DILexicalBlock(scope: ![[F]],
|
|
// CHECK-SAME: line: 301, column: 31)
|
|
// CHECK: ![[L1]] = !DILocation(line: 101, column: 8, scope: ![[H]],
|
|
// CHECK-SAME: inlinedAt: ![[L2:.*]])
|
|
// CHECK: ![[L2]] = !DILocation(line: 202, column: 13, scope: ![[G_SCOPE:.*]],
|
|
// CHECK-SAME: inlinedAt: ![[L3]])
|
|
// CHECK: ![[G_SCOPE]] = distinct !DILexicalBlock(scope: ![[G]],
|
|
// CHECK-SAME: line: 201, column: 24)
|