mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
a3f3dcad2f
Summary: Fix import from module with appending var, which cannot be imported. The first fix is to remove an overly-aggressive error check. The second fix is to deal with restructuring introduced to the module linker yesterday in r254418 (actually, this fix was included already in r254559, just added some additional cleanup). Test by Mehdi Amini. Reviewers: joker.eph, rafael Subscribers: joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D15156 llvm-svn: 254624
21 lines
630 B
LLVM
21 lines
630 B
LLVM
; RUN: llvm-as -function-summary %s -o %t.bc
|
|
; RUN: llvm-as -function-summary %p/Inputs/funcimport_appending_global.ll -o %t2.bc
|
|
; RUN: llvm-lto -thinlto -o %t3 %t.bc %t2.bc
|
|
|
|
; Do the import now
|
|
; RUN: llvm-link %t.bc -functionindex=%t3.thinlto.bc -import=foo:%t2.bc -S | FileCheck %s
|
|
|
|
; Ensure that global constructor (appending linkage) is not imported
|
|
; CHECK-NOT: @llvm.global_ctors = {{.*}}@foo
|
|
|
|
declare void @f()
|
|
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @f, i8* null}]
|
|
|
|
define i32 @main() {
|
|
entry:
|
|
call void @foo()
|
|
ret i32 0
|
|
}
|
|
|
|
declare void @foo()
|