| ; This file is used by testlink1.ll, so it doesn't actually do anything itself |
| ; |
| ; RUN: true |
| |
| %intlist = type { %intlist*, i32 } |
| |
| |
| %Ty1 = type { %Ty2* } |
| %Ty2 = type opaque |
| |
| @GVTy1 = global %Ty1* null |
| @GVTy2 = external global %Ty2* |
| |
| |
| @MyVar = global i32 4 |
| @MyIntList = external global %intlist |
| @AConst = constant i32 1234 |
| |
| ;; Intern in both testlink[12].ll |
| @Intern1 = internal constant i32 52 |
| |
| ;; Intern in one but not in other |
| @Intern2 = constant i32 12345 |
| |
| @MyIntListPtr = constant { %intlist* } { %intlist* @MyIntList } |
| @MyVarPtr = linkonce global { i32* } { i32* @MyVar } |
| @0 = constant i32 412 |
| |
| ; Provides definition of Struct1 and of S1GV. |
| %Struct1 = type { i32 } |
| @S1GV = global %Struct1* null |
| |
| define i32 @foo(i32 %blah) { |
| store i32 %blah, i32* @MyVar |
| %idx = getelementptr %intlist* @MyIntList, i64 0, i32 1 |
| store i32 12, i32* %idx |
| %ack = load i32* @0 |
| %fzo = add i32 %ack, %blah |
| ret i32 %fzo |
| } |
| |
| declare void @unimp(float, double) |
| |
| define internal void @testintern() { |
| ret void |
| } |
| |
| define void @Testintern() { |
| ret void |
| } |
| |
| define internal void @testIntern() { |
| ret void |
| } |
| |