Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Linker / type-unique-src-type.ll
blob03e890351e083d417f689ae848861a3452d793d8
1 ; RUN: llvm-as %s -o %t.bc
2 ; RUN: llvm-link -S %t.bc -o - | FileCheck %s
3 ; RUN: llvm-link -S %s -o - | FileCheck %s
5 ; Test that we don't try to map %C.0 and C and then try to map %C to a new type.
6 ; This used to happen when lazy loading since we wouldn't then identify %C
7 ; as a destination type until it was too late.
9 ; CHECK: %C.0 = type { %B }
10 ; CHECK-NEXT: %B = type { %A }
11 ; CHECK-NEXT: %A = type { i8 }
13 ; CHECK: @g1 = global %C.0 zeroinitializer
14 ; CHECK:  getelementptr %C.0, ptr null, i64 0, i32 0, i32 0
16 %A   = type { i8 }
17 %B   = type { %A }
18 %C   = type { %B }
19 %C.0 = type { %B }
20 define void @f1() {
21   getelementptr %C, ptr null, i64 0, i32 0, i32 0
22   ret void
24 @g1 = global %C.0 zeroinitializer