xref: /llvm-project/llvm/test/ThinLTO/X86/llvm-stats-import.ll (revision ef0cb372dc80c9f71a181125e6dca22e5c59ece5)
1*ef0cb372Swlei; RUN: opt -module-summary %s -o %t1.bc
2*ef0cb372Swlei; RUN: opt -module-summary %p/Inputs/llvm-stats-import.ll -o %t2.bc
3*ef0cb372Swlei; RUN: llvm-lto -thinlto-action=thinlink -o %t.index.bc %t1.bc %t2.bc
4*ef0cb372Swlei
5*ef0cb372Swlei; RUN: llvm-lto -thinlto-action=import %t1.bc -thinlto-index=%t.index.bc -o - | llvm-dis -o - | FileCheck %s --check-prefix=CHECK-MAIN
6*ef0cb372Swlei; RUN: llvm-lto -thinlto-action=import %t2.bc -thinlto-index=%t.index.bc -o - | llvm-dis -o - | FileCheck %s --check-prefix=CHECK-FOO
7*ef0cb372Swlei
8*ef0cb372Swlei; CHECK-MAIN: !0 = !{!"main", i64 123}
9*ef0cb372Swlei; CHECK-MAIN-NOT: !{!"foo", i64 456}
10*ef0cb372Swlei
11*ef0cb372Swlei; CHECK-FOO: !0 = !{!"foo", i64 456}
12*ef0cb372Swlei; CHECK-FOO-NOT: !{!"main", i64 123}
13*ef0cb372Swlei
14*ef0cb372Swleitarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
15*ef0cb372Swleitarget triple = "x86_64-unknown-linux-gnu"
16*ef0cb372Swlei
17*ef0cb372Swleidefine i32 @main() {
18*ef0cb372Swleientry:
19*ef0cb372Swlei  call void (...) @foo()
20*ef0cb372Swlei  ret i32 0
21*ef0cb372Swlei}
22*ef0cb372Swlei
23*ef0cb372Swleideclare void @foo(...)
24*ef0cb372Swlei
25*ef0cb372Swleiattributes #0 = { inaccessiblememonly nounwind willreturn }
26*ef0cb372Swlei
27*ef0cb372Swlei!llvm.stats = !{!0}
28*ef0cb372Swlei!0 = !{!"main", i64 123}
29