mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
bfea7bc2f8
This is similar to r322317, but for visibility. It is not as neat because we have to special case extern_weak. The idea is the same as the previous change, make the transition to explicit dso_local easier for the frontends. With this they only have to add dso_local to symbols where we need some external information to decide if it is dso_local (like it being part of an ELF executable). llvm-svn: 322806
22 lines
794 B
LLVM
22 lines
794 B
LLVM
; RUN: opt -thinlto-bc -o %t %s
|
|
; RUN: llvm-modextract -b -n 0 -o - %t | llvm-dis | FileCheck --check-prefix=M0 %s
|
|
; RUN: llvm-modextract -b -n 1 -o - %t | llvm-dis | FileCheck --check-prefix=M1 %s
|
|
|
|
define [1 x i8*]* @source() {
|
|
ret [1 x i8*]* @g
|
|
}
|
|
|
|
; M0: @"g$84f59439b469192440047efc8de357fb" = external hidden constant [1 x i8*]{{$}}
|
|
; M1: @"g$84f59439b469192440047efc8de357fb" = hidden constant [1 x i8*] [i8* bitcast (i64 (i8*)* @"ok$84f59439b469192440047efc8de357fb" to i8*)]
|
|
@g = internal constant [1 x i8*] [
|
|
i8* bitcast (i64 (i8*)* @ok to i8*)
|
|
], !type !0
|
|
|
|
; M0: define hidden i64 @"ok$84f59439b469192440047efc8de357fb"
|
|
; M1: define available_externally hidden i64 @"ok$84f59439b469192440047efc8de357fb"
|
|
define internal i64 @ok(i8* %this) {
|
|
ret i64 42
|
|
}
|
|
|
|
!0 = !{i32 0, !"typeid"}
|