blob: 9d471f63620608a84ea72ab6fb5d9c7952a06e5f [file] [log] [blame]
Reid Klecknere33c94f2017-09-05 20:14:58 +00001; Inlining should not clone label annotations.
2; Currently we block all duplication for simplicity.
3
4; RUN: opt < %s -S -inline | FileCheck %s
5
6@the_global = global i32 0
7
8declare void @llvm.codeview.annotation(metadata)
9
10define void @inlinee() {
11entry:
12 store i32 42, i32* @the_global
13 call void @llvm.codeview.annotation(metadata !0)
14 ret void
15}
16
17define void @caller() {
18entry:
19 call void @inlinee()
20 ret void
21}
22
23!0 = !{!"annotation"}
24
25; CHECK-LABEL: define void @inlinee()
26; CHECK: store i32 42, i32* @the_global
27; CHECK: call void @llvm.codeview.annotation(metadata !0)
28; CHECK: ret void
29
30; CHECK-LABEL: define void @caller()
31; MSVC can inline this. If we ever do, check for the store but make sure
32; there is no annotation.
33; CHECK: call void @inlinee()
34; CHECK-NOT: call void @llvm.codeview.annotation
35; CHECK: ret void