Always treat DISubprogram reached by DIImportedEntity as needed.
[oota-llvm.git] / test / Linker / funcimport_appending_global.ll
1 ; RUN: llvm-as -function-summary %s -o %t.bc
2 ; RUN: llvm-as -function-summary %p/Inputs/funcimport_appending_global.ll -o %t2.bc
3 ; RUN: llvm-lto -thinlto -o %t3 %t.bc %t2.bc
4
5 ; Do the import now
6 ; RUN: llvm-link %t.bc -functionindex=%t3.thinlto.bc -import=foo:%t2.bc -S | FileCheck %s
7
8 ; Ensure that global constructor (appending linkage) is not imported
9 ; CHECK-NOT: @llvm.global_ctors = {{.*}}@foo
10
11 declare void @f()
12 @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @f, i8* null}]
13
14 define i32 @main() {
15 entry:
16   call void @foo()
17   ret i32 0
18 }
19
20 declare void @foo()