mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 07:31:53 +00:00
dcf1ffe8a0
Now that we have a way to mark GlobalValues as local we can use the symbol resolutions that the linker plugin provides as part of lto/thinlto link step to refine the compilers view on what symbols will end up being local. Originally commited as r317374, but reverted in r317395 to update some missed tests. Differential Revision: https://reviews.llvm.org/D35702 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317408 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
947 B
LLVM
29 lines
947 B
LLVM
; Do setup work for all below tests: generate bitcode and combined index
|
|
; RUN: opt -module-summary %s -o %t1.bc
|
|
; RUN: opt -module-summary %p/Inputs/funcimport2.ll -o %t2.bc
|
|
|
|
; RUN: llvm-lto2 run %t1.bc %t2.bc -o %t.o -save-temps \
|
|
; RUN: -r=%t1.bc,_foo,plx \
|
|
; RUN: -r=%t2.bc,_main,plx \
|
|
; RUN: -r=%t2.bc,_foo,l
|
|
; RUN: llvm-dis %t.o.1.3.import.bc -o - | FileCheck %s
|
|
; CHECK: define available_externally dso_local void @foo()
|
|
|
|
; We shouldn't do any importing at -O0
|
|
; rm -f %t.o.1.3.import.bc
|
|
; RUN: llvm-lto2 run %t1.bc %t2.bc -o %t.o -save-temps \
|
|
; RUN: -O0 \
|
|
; RUN: -r=%t1.bc,_foo,plx \
|
|
; RUN: -r=%t2.bc,_main,plx \
|
|
; RUN: -r=%t2.bc,_foo,l
|
|
; RUN: llvm-dis %t.o.1.3.import.bc -o - | FileCheck %s --check-prefix=CHECKO0
|
|
; CHECKO0: declare dso_local void @foo(...)
|
|
|
|
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-apple-macosx10.11.0"
|
|
|
|
define void @foo() #0 {
|
|
entry:
|
|
ret void
|
|
}
|