1f2b5ec6eSTeresa Johnson; RUN: opt -module-summary %s -o %t1.o 2f2b5ec6eSTeresa Johnson; RUN: opt -module-summary %p/Inputs/common_thinlto.ll -o %t2.o 3f2b5ec6eSTeresa Johnson 4*3efcfaddSEugene Leviant; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \ 5f2b5ec6eSTeresa Johnson; RUN: --plugin-opt=save-temps \ 6f2b5ec6eSTeresa Johnson; RUN: --plugin-opt=thinlto \ 71f76caf3STeresa Johnson; RUN: -m elf_x86_64 \ 8f2b5ec6eSTeresa Johnson; RUN: -shared %t1.o %t2.o -o %t3 9f2b5ec6eSTeresa Johnson 10f2b5ec6eSTeresa Johnson; RUN: llvm-dis %t1.o.2.internalize.bc -o - | FileCheck %s --check-prefix=INTERNALIZE 11f2b5ec6eSTeresa Johnson; We should not have internalized P, and it should still be common. 12f2b5ec6eSTeresa Johnson; INTERNALIZE: @P = common global 13f2b5ec6eSTeresa Johnson 14f2b5ec6eSTeresa Johnson; RUN: llvm-dis %t1.o.4.opt.bc -o - | FileCheck %s --check-prefix=OPT 15f2b5ec6eSTeresa Johnson; bar should still exist (if we had internalized P it would look dead). 16f2b5ec6eSTeresa Johnson; OPT: @bar 17f2b5ec6eSTeresa Johnson 18f1844daaSTeresa Johnson; RUN: llvm-nm %t3 | FileCheck %s --check-prefix=NM 19f2b5ec6eSTeresa Johnson; NM: bar 20f2b5ec6eSTeresa Johnson 21f2b5ec6eSTeresa Johnsonsource_filename = "common1.c" 22f2b5ec6eSTeresa Johnsontarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 23f2b5ec6eSTeresa Johnsontarget triple = "x86_64-unknown-linux-gnu" 24f2b5ec6eSTeresa Johnson 25f2b5ec6eSTeresa Johnson@P = common global i8* (...)* null, align 8 26f2b5ec6eSTeresa Johnson 27f2b5ec6eSTeresa Johnsondefine i32 @main() { 28f2b5ec6eSTeresa Johnsonentry: 29f2b5ec6eSTeresa Johnson store i8* (...)* bitcast (i8* ()* @bar to i8* (...)*), i8* (...)** @P, align 8 30f2b5ec6eSTeresa Johnson %call = call i32 (...) @foo() 31f2b5ec6eSTeresa Johnson ret i32 0 32f2b5ec6eSTeresa Johnson} 33f2b5ec6eSTeresa Johnson 34f2b5ec6eSTeresa Johnsondeclare i32 @foo(...) 35f2b5ec6eSTeresa Johnson 36f2b5ec6eSTeresa Johnsondefine internal i8* @bar() { 37f2b5ec6eSTeresa Johnsonentry: 38f2b5ec6eSTeresa Johnson ret i8* null 39f2b5ec6eSTeresa Johnson} 40