xref: /llvm-project/llvm/test/ExecutionEngine/OrcLazy/weak-non-materialization.ll (revision 2d56d8c4e8751c7e2cab927cdeb4e519af3f3585)
16cadc7c0SLang Hames; RUN: llc -filetype=obj -o %t1.o %p/Inputs/obj-weak-non-materialization-1.ll
26cadc7c0SLang Hames; RUN: llc -filetype=obj -o %t2.o %p/Inputs/obj-weak-non-materialization-2.ll
36cadc7c0SLang Hames; RUN: lli -jit-kind=orc-lazy -extra-object %t1.o -extra-object %t2.o %s
46cadc7c0SLang Hames;
56cadc7c0SLang Hames; Check that %t1.o's version of the weak symbol X is used, even though %t2.o is
66cadc7c0SLang Hames; materialized first.
76cadc7c0SLang Hames
86cadc7c0SLang Hames@X = external global i32
96cadc7c0SLang Hames
106cadc7c0SLang Hamesdeclare void @foo()
116cadc7c0SLang Hames
12*2d56d8c4SMatt Arsenaultdefine i32 @main(i32 %argc, ptr %argv) {
136cadc7c0SLang Hamesentry:
146cadc7c0SLang Hames  call void @foo()
15*2d56d8c4SMatt Arsenault  %0 = load i32, ptr @X
166cadc7c0SLang Hames  ret i32 %0
176cadc7c0SLang Hames}
18