mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
e5f98a3c30
Summary: This change fixes https://crbug.com/834474, a build failure caused by LowerTypeTests not preserving .symver symbol versioning directives for exported functions. Emit symver information to ThinLTO summary data and then propagate symver directives for exported functions to the merged module. Emitting symver information to the summaries increases the size of intermediate build artifacts for a Chromium build by less than 0.2%. Reviewers: pcc Reviewed By: pcc Subscribers: tejohnson, mehdi_amini, eraman, llvm-commits, eugenis, kcc Differential Revision: https://reviews.llvm.org/D45798 llvm-svn: 330387
23 lines
530 B
LLVM
23 lines
530 B
LLVM
; RUN: opt -thinlto-bc -o %t %s
|
|
; RUN: llvm-modextract -n 1 -o - %t | llvm-dis | FileCheck %s
|
|
|
|
target triple = "x86_64-unknown-linux-gnu"
|
|
|
|
module asm ".symver used, used@VER"
|
|
module asm ".symver unused, unused@VER"
|
|
module asm ".symver variable, variable@VER"
|
|
|
|
declare !type !0 void @used()
|
|
declare !type !0 void @unused()
|
|
@variable = global i32 0
|
|
|
|
define i32* @use() {
|
|
call void @used()
|
|
ret i32* @variable
|
|
}
|
|
|
|
; CHECK: !symvers = !{![[SYMVER:[0-9]+]]}
|
|
; CHECK: ![[SYMVER]] = !{!"used", !"used@VER"}
|
|
|
|
!0 = !{i64 0, !"_ZTSFvvE"}
|