xref: /aosp_15_r20/external/llvm/test/Assembler/unnamed-addr.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker%struct.foobar = type { i32 }
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker@bar.d = internal unnamed_addr constant %struct.foobar zeroinitializer, align 4
7*9880d681SAndroid Build Coastguard Worker@foo.d = internal constant %struct.foobar zeroinitializer, align 4
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine i32 @main() unnamed_addr nounwind ssp {
10*9880d681SAndroid Build Coastguard Workerentry:
11*9880d681SAndroid Build Coastguard Worker  %call2 = tail call i32 @zed(%struct.foobar* @foo.d, %struct.foobar* @bar.d) nounwind
12*9880d681SAndroid Build Coastguard Worker  ret i32 0
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdeclare i32 @zed(%struct.foobar*, %struct.foobar*)
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker; CHECK: @bar.d = internal unnamed_addr constant %struct.foobar zeroinitializer, align 4
18*9880d681SAndroid Build Coastguard Worker; CHECK: @foo.d = internal constant %struct.foobar zeroinitializer, align 4
19*9880d681SAndroid Build Coastguard Worker; CHECK: define i32 @main() unnamed_addr #0 {
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker; CHECK: attributes #0 = { nounwind ssp }
22