mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-17 02:46:00 +00:00

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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320905 91177308-0d34-0410-b5e6-96231b3b80d8
16 lines
366 B
LLVM
16 lines
366 B
LLVM
; RUN: opt -module-summary -o %t.bc %s
|
|
; RUN: llvm-lto2 run %t.bc -r %t.bc,foo,pl -o %t2
|
|
; RUN: llvm-nm %t2.1 | FileCheck %s
|
|
; CHECK: T foo
|
|
; CHECK: t foo_ifunc
|
|
|
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-unknown-linux-gnu"
|
|
|
|
@foo = ifunc i32 (i32), i64 ()* @foo_ifunc
|
|
|
|
define internal i64 @foo_ifunc() {
|
|
entry:
|
|
ret i64 0
|
|
}
|