xref: /llvm-project/llvm/test/Transforms/EmbedBitcode/embed.ll (revision 9d476e1e1a18af390e3455a6622ee67a69c64103)
175a17970SPaul Kirth; RUN: opt --mtriple x86_64-unknown-linux-gnu < %s -passes="embed-bitcode" -S | FileCheck %s
2*9d476e1eSPaul Kirth; RUN: opt --mtriple x86_64-unknown-linux-gnu < %s -passes="embed-bitcode<thinlto>" -S | FileCheck %s
3*9d476e1eSPaul Kirth; RUN: opt --mtriple x86_64-unknown-linux-gnu < %s -passes="embed-bitcode<emit-summary>" -S | FileCheck %s
4*9d476e1eSPaul Kirth; RUN: opt --mtriple x86_64-unknown-linux-gnu < %s -passes="embed-bitcode<thinlto;emit-summary>" -S | FileCheck %s
575a17970SPaul Kirth
675a17970SPaul Kirth@a = global i32 1
775a17970SPaul Kirth
875a17970SPaul Kirth; CHECK: @a = global i32 1
975a17970SPaul Kirth;; Make sure the module is in the correct section.
1075a17970SPaul Kirth; CHECK: @llvm.embedded.object = private constant {{.*}}, section ".llvm.lto", align 1
1175a17970SPaul Kirth
1275a17970SPaul Kirth;; Ensure that the metadata is in llvm.compiler.used.
1375a17970SPaul Kirth; CHECK: @llvm.compiler.used = appending global [1 x ptr] [ptr @llvm.embedded.object], section "llvm.metadata"
1475a17970SPaul Kirth
1575a17970SPaul Kirth;; Make sure the metadata correlates to the .llvm.lto section.
1675a17970SPaul Kirth; CHECK: !llvm.embedded.objects = !{!1}
1775a17970SPaul Kirth; CHECK: !0 = !{}
1875a17970SPaul Kirth; CHECK: !{ptr @llvm.embedded.object, !".llvm.lto"}
19