mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
a2f6e4d840
Summary: 1. Use stream 0 only for combined module. Previously if combined module was not processes ThinLTO used the stream for own output. However small changes in input, could trigger combined module and shuffle outputs making life of llvm::LTO harder. 2. Always process combined module and write output to stream 0. Processing empty combined module is cheap and allows llvm::LTO users to avoid implementing processing which is already done in llvm::LTO. Subscribers: mehdi_amini, inglorion, eraman, hiraditya Differential Revision: https://reviews.llvm.org/D41267 llvm-svn: 320905
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.2.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.2.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
|
|
}
|