[llvm-exegesis][NFC] Pass Instruction instead of bare Opcode
[llvm-core.git] / test / Linker / transitive-lazy-link.ll
blobc1cacae5a9a8d4dc3edbbb2d0ab914cbbb73043e
1 ; @f and @g are lazily linked. @f requires @g - ensure @g is correctly linked.
3 ; RUN: echo "declare i32 @f(i32)" > %t.1.ll
4 ; RUN: echo "define i32 @h(i32 %x) {" >> %t.1.ll
5 ; RUN: echo "  %1 = call i32 @f(i32 %x)" >> %t.1.ll
6 ; RUN: echo "  ret i32 %1" >> %t.1.ll
7 ; RUN: echo "}" >> %t.1.ll
8 ; RUN: llvm-as < %t.1.ll > %t.1.bc
9 ; RUN: llvm-as < %s > %t.2.bc
10 ; RUN: llvm-link %t.1.bc %t.2.bc
12 define available_externally i32 @f(i32 %x) {
13   %1 = call i32 @g(i32 %x)
14   ret i32 %1
17 define available_externally i32 @g(i32 %x) {
18   ret i32 5