diff options
Diffstat (limited to 'llvm/test/ThinLTO/X86/section.ll')
-rw-r--r-- | llvm/test/ThinLTO/X86/section.ll | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/ThinLTO/X86/section.ll b/llvm/test/ThinLTO/X86/section.ll new file mode 100644 index 00000000000..3cc1325e472 --- /dev/null +++ b/llvm/test/ThinLTO/X86/section.ll @@ -0,0 +1,25 @@ +; Do setup work for all below tests: generate bitcode and combined index +; RUN: opt -module-summary %s -o %t.bc +; RUN: opt -module-summary %p/Inputs/section.ll -o %t2.bc +; RUN: llvm-lto -thinlto-action=thinlink -o %t3.bc %t.bc %t2.bc + +; Check that we don't promote 'var_with_section' +; RUN: llvm-lto -thinlto-action=promote %t2.bc -thinlto-index=%t3.bc -o - | llvm-dis -o - | FileCheck %s --check-prefix=PROMOTE +; PROMOTE: @var_with_section = internal global i32 0, section "some_section" + +; RUN: llvm-lto -thinlto-action=import %t.bc -thinlto-index=%t3.bc -o - | llvm-dis -o - | FileCheck %s --check-prefix=IMPORT +; Check that section prevent import of @reference_gv_with_section. +; IMPORT: declare void @reference_gv_with_section() +; Canary to check that importing is correctly set up. +; IMPORT: define available_externally void @foo() + + +define i32 @main() { + call void @reference_gv_with_section() + call void @foo() + ret i32 42 +} + + +declare void @reference_gv_with_section() +declare void @foo() |