xref: /llvm-project/llvm/test/Linker/Inputs/testlink.ll (revision 7e192db96d4c753c50e3e8d42d5e83072ddb84e1)
1%intlist = type { ptr, i32 }
2
3
4%Ty1 = type { ptr }
5%Ty2 = type opaque
6
7%VecSize = type { <10 x i32> }
8
9@GVTy1 = global %Ty1 { ptr null }
10@GVTy2 = external global %Ty2
11
12
13@MyVar = global i32 4
14@MyIntList = external global %intlist
15@AConst = constant i32 1234
16
17;; Intern in both testlink[12].ll
18@Intern1 = internal constant i32 52
19
20@Use2Intern1 = global ptr @Intern1
21
22;; Intern in one but not in other
23@Intern2 = constant i32 12345
24
25@MyIntListPtr = constant { ptr } { ptr @MyIntList }
26@MyVarPtr = linkonce global { ptr } { ptr @MyVar }
27@0 = constant i32 412
28
29; Provides definition of Struct1 and of S1GV.
30%Struct1 = type { i32 }
31@S1GV = global ptr null
32
33define i32 @foo(i32 %blah) {
34  store i32 %blah, ptr @MyVar
35  %idx = getelementptr %intlist, ptr @MyIntList, i64 0, i32 1
36  store i32 12, ptr %idx
37  %ack = load i32, ptr @0
38  %fzo = add i32 %ack, %blah
39  ret i32 %fzo
40}
41
42declare void @unimp(float, double)
43
44define internal void @testintern() {
45  ret void
46}
47
48define void @Testintern() {
49  ret void
50}
51
52define internal void @testIntern() {
53  ret void
54}
55
56define void @VecSizeCrash1(%VecSize) {
57  ret void
58}
59