xref: /aosp_15_r20/external/llvm/test/Linker/visibility.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link %s %p/Inputs/visibility.ll -S | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link %p/Inputs/visibility.ll %s -S | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; The values in this file are strong, the ones in Inputs/visibility.ll are weak,
5*9880d681SAndroid Build Coastguard Worker; but we should still get the visibility from them.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker$c1 = comdat any
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker; Variables
11*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @v1 = hidden global i32 0
12*9880d681SAndroid Build Coastguard Worker@v1 = global i32 0
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @v2 = protected  global i32 0
15*9880d681SAndroid Build Coastguard Worker@v2 = global i32 0
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @v3 = hidden global i32 0
18*9880d681SAndroid Build Coastguard Worker@v3 = protected global i32 0
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @v4 = hidden global i32 1, comdat($c1)
21*9880d681SAndroid Build Coastguard Worker@v4 = global i32 1, comdat($c1)
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker; Aliases
24*9880d681SAndroid Build Coastguard Worker; CHECK: @a1 = hidden alias i32, i32* @v1
25*9880d681SAndroid Build Coastguard Worker@a1 = alias i32, i32* @v1
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker; CHECK: @a2 = protected alias i32, i32* @v2
28*9880d681SAndroid Build Coastguard Worker@a2 = alias i32, i32* @v2
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker; CHECK: @a3 = hidden alias i32, i32* @v3
31*9880d681SAndroid Build Coastguard Worker@a3 = protected alias i32, i32* @v3
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker; Functions
35*9880d681SAndroid Build Coastguard Worker; CHECK: define hidden void @f1()
36*9880d681SAndroid Build Coastguard Workerdefine void @f1()  {
37*9880d681SAndroid Build Coastguard Workerentry:
38*9880d681SAndroid Build Coastguard Worker  ret void
39*9880d681SAndroid Build Coastguard Worker}
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker; CHECK: define protected void @f2()
42*9880d681SAndroid Build Coastguard Workerdefine void @f2()  {
43*9880d681SAndroid Build Coastguard Workerentry:
44*9880d681SAndroid Build Coastguard Worker  ret void
45*9880d681SAndroid Build Coastguard Worker}
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker; CHECK: define hidden void @f3()
48*9880d681SAndroid Build Coastguard Workerdefine protected void @f3()  {
49*9880d681SAndroid Build Coastguard Workerentry:
50*9880d681SAndroid Build Coastguard Worker  ret void
51*9880d681SAndroid Build Coastguard Worker}
52