xref: /llvm-project/llvm/test/ExecutionEngine/OrcLazy/weak-function.ll (revision 2d56d8c4e8751c7e2cab927cdeb4e519af3f3585)
1; RUN: lli -jit-kind=orc-lazy -extra-module %p/Inputs/weak-function-2.ll %s
2;
3; Check that functions in two different modules agree on the address of weak
4; function 'baz'
5
6define linkonce_odr i32 @baz() {
7entry:
8  ret i32 0
9}
10
11define ptr @foo() {
12entry:
13  ret ptr @baz
14}
15
16declare ptr @bar()
17
18define i32 @main(i32 %argc, ptr %argv) {
19entry:
20  %call = tail call ptr @foo()
21  %call1 = tail call ptr @bar()
22  %cmp = icmp ne ptr %call, %call1
23  %conv = zext i1 %cmp to i32
24  ret i32 %conv
25}
26
27