xref: /aosp_15_r20/external/llvm/test/Linker/unnamed-addr1-a.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link %s %p/unnamed-addr1-b.ll -S -o - | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Only in this file
4*9880d681SAndroid Build Coastguard Worker@global-a = common global i32 0
5*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-a = common global i32 0
6*9880d681SAndroid Build Coastguard Worker@global-b = common unnamed_addr global i32 0
7*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-b = common unnamed_addr global i32 0
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine weak void @func-a() { ret void }
10*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-a() {
11*9880d681SAndroid Build Coastguard Workerdefine weak void @func-b() unnamed_addr { ret void }
12*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-b() unnamed_addr {
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker; Other file has unnamed_addr definition
15*9880d681SAndroid Build Coastguard Worker@global-c = common unnamed_addr global i32 0
16*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-c = common unnamed_addr global i32 0
17*9880d681SAndroid Build Coastguard Worker@global-d = external global i32
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerdefine i32* @use-global-d() {
20*9880d681SAndroid Build Coastguard Worker  ret i32* @global-d
21*9880d681SAndroid Build Coastguard Worker}
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-d = global i32 42
24*9880d681SAndroid Build Coastguard Worker@global-e = external unnamed_addr global i32
25*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-e = unnamed_addr global i32 42
26*9880d681SAndroid Build Coastguard Worker@global-f = weak global i32 42
27*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-f = global i32 42
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker@alias-a = weak global i32 42
30*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @alias-a = alias i32, i32* @global-f
31*9880d681SAndroid Build Coastguard Worker@alias-b = weak unnamed_addr global i32 42
32*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @alias-b = unnamed_addr alias i32, i32* @global-f
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Workerdeclare void @func-c()
35*9880d681SAndroid Build Coastguard Workerdefine void @use-func-c() {
36*9880d681SAndroid Build Coastguard Worker  call void @func-c()
37*9880d681SAndroid Build Coastguard Worker  ret void
38*9880d681SAndroid Build Coastguard Worker}
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-c() {
41*9880d681SAndroid Build Coastguard Workerdefine weak void @func-d() { ret void }
42*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-d() {
43*9880d681SAndroid Build Coastguard Workerdefine weak void @func-e() unnamed_addr { ret void }
44*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-e() unnamed_addr {
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Worker; Other file has non-unnamed_addr definition
47*9880d681SAndroid Build Coastguard Worker@global-g = common unnamed_addr global i32 0
48*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-g = common global i32 0
49*9880d681SAndroid Build Coastguard Worker@global-h = external global i32
50*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-h = global i32 42
51*9880d681SAndroid Build Coastguard Worker@global-i = external unnamed_addr global i32
52*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-i = global i32 42
53*9880d681SAndroid Build Coastguard Worker@global-j = weak global i32 42
54*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @global-j = global i32 42
55*9880d681SAndroid Build Coastguard Worker
56*9880d681SAndroid Build Coastguard Worker@alias-c = weak global i32 42
57*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @alias-c = alias i32, i32* @global-f
58*9880d681SAndroid Build Coastguard Worker@alias-d = weak unnamed_addr global i32 42
59*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @alias-d = alias i32, i32* @global-f
60*9880d681SAndroid Build Coastguard Worker
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Workerdeclare void @func-g()
63*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-g() {
64*9880d681SAndroid Build Coastguard Workerdefine weak void @func-h() { ret void }
65*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-h() {
66*9880d681SAndroid Build Coastguard Workerdefine weak void @func-i() unnamed_addr { ret void }
67*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: define weak void @func-i() {
68