Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / Inline / label-annotation.ll
blobc94dc07562e420bdec563605f4a68421ca7d5e25
1 ; Inlining should not clone label annotations.
2 ; Currently we block all duplication for simplicity.
4 ; RUN: opt < %s -S -passes=inline | FileCheck %s
6 @the_global = global i32 0
8 declare void @llvm.codeview.annotation(metadata)
10 define void @inlinee() {
11 entry:
12   store i32 42, ptr @the_global
13   call void @llvm.codeview.annotation(metadata !0)
14   ret void
17 define void @caller() {
18 entry:
19   call void @inlinee()
20   ret void
23 !0 = !{!"annotation"}
25 ; CHECK-LABEL: define void @inlinee()
26 ; CHECK: store i32 42, ptr @the_global
27 ; CHECK: call void @llvm.codeview.annotation(metadata !0)
28 ; CHECK: ret void
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