xref: /aosp_15_r20/external/llvm/test/Linker/Inputs/comdat16.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker$c2 = comdat any
2*9880d681SAndroid Build Coastguard Worker$c1 = comdat any
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; This is only present in this file. The linker will keep $c1 from the first
5*9880d681SAndroid Build Coastguard Worker; file and this will be undefined.
6*9880d681SAndroid Build Coastguard Worker@will_be_undefined = global i32 1, comdat($c1)
7*9880d681SAndroid Build Coastguard Worker@use = global i32* @will_be_undefined
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker@v1 = weak_odr global i32 41, comdat($c2)
10*9880d681SAndroid Build Coastguard Workerdefine weak_odr protected i32 @f1(i8* %this) comdat($c2) {
11*9880d681SAndroid Build Coastguard Workerbb20:
12*9880d681SAndroid Build Coastguard Worker  store i8* %this, i8** null
13*9880d681SAndroid Build Coastguard Worker  br label %bb21
14*9880d681SAndroid Build Coastguard Workerbb21:
15*9880d681SAndroid Build Coastguard Worker  ret i32 41
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker@r21 = global i32* @v1
19*9880d681SAndroid Build Coastguard Worker@r22 = global i32(i8*)* @f1
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker@a21 = alias i32, i32* @v1
22*9880d681SAndroid Build Coastguard Worker@a22 = alias i16, bitcast (i32* @v1 to i16*)
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker@a23 = alias i32(i8*), i32(i8*)* @f1
25*9880d681SAndroid Build Coastguard Worker@a24 = alias i16, bitcast (i32(i8*)* @f1 to i16*)
26*9880d681SAndroid Build Coastguard Worker@a25 = alias i16, i16* @a24
27