[Clang][CodeGen]`vtable`, `typeinfo` et al. are globals
[llvm-project.git] / llvm / test / Linker / globalorder.ll
blob41ed3b2e167dd1528e51ac0ca2032ca60ff6bb73
1 ; Test the order of global variables during llvm-link
3 ; RUN: llvm-link %s %S/Inputs/globalorder-2.ll -o %t.bc
4 ; RUN: llvm-dis  -o - %t.bc | FileCheck %s
6 @var1 = internal global i32 0, align 4
7 @var2 = internal global i32 0, align 4
8 @var3 = global ptr @var1, align 4
9 @var4 = global ptr @var2, align 4
11 define i32 @foo() {
12 entry:
13   %0 = load ptr, ptr @var3, align 4
14   %1 = load i32, ptr %0, align 4
15   %2 = load ptr, ptr @var4, align 4
16   %3 = load i32, ptr %2, align 4
17   %add = add nsw i32 %3, %1
18   ret i32 %add
20 ; CHECK: @var1 =
21 ; CHECK-NEXT: @var2 =
22 ; CHECK-NEXT: @var3 =
23 ; CHECK-NEXT: @var4 =
24 ; CHECK-NEXT: @var5 =
25 ; CHECK-NEXT: @var6 =
26 ; CHECK-NEXT: @var7 =
27 ; CHECK-NEXT: @var8 =