From b868e9101c138016aad5bd910b67f40a3213d6fc Mon Sep 17 00:00:00 2001 From: Andrew Kaylor Date: Fri, 4 Oct 2013 00:49:38 +0000 Subject: Adding support and tests for multiple module handling in lli git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191938 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/ExecutionEngine/MCJIT/cross-module-a.ll | 13 +++++++++++++ test/ExecutionEngine/MCJIT/cross-module-b.ir | 7 +++++++ test/ExecutionEngine/MCJIT/multi-module-a.ll | 9 +++++++++ test/ExecutionEngine/MCJIT/multi-module-b.ir | 7 +++++++ test/ExecutionEngine/MCJIT/multi-module-c.ir | 4 ++++ test/ExecutionEngine/MCJIT/remote/cross-module-a.ll | 13 +++++++++++++ test/ExecutionEngine/MCJIT/remote/cross-module-b.ir | 7 +++++++ test/ExecutionEngine/MCJIT/remote/multi-module-a.ll | 9 +++++++++ test/ExecutionEngine/MCJIT/remote/multi-module-b.ir | 7 +++++++ test/ExecutionEngine/MCJIT/remote/multi-module-c.ir | 4 ++++ 10 files changed, 80 insertions(+) create mode 100644 test/ExecutionEngine/MCJIT/cross-module-a.ll create mode 100644 test/ExecutionEngine/MCJIT/cross-module-b.ir create mode 100644 test/ExecutionEngine/MCJIT/multi-module-a.ll create mode 100644 test/ExecutionEngine/MCJIT/multi-module-b.ir create mode 100644 test/ExecutionEngine/MCJIT/multi-module-c.ir create mode 100644 test/ExecutionEngine/MCJIT/remote/cross-module-a.ll create mode 100644 test/ExecutionEngine/MCJIT/remote/cross-module-b.ir create mode 100644 test/ExecutionEngine/MCJIT/remote/multi-module-a.ll create mode 100644 test/ExecutionEngine/MCJIT/remote/multi-module-b.ir create mode 100644 test/ExecutionEngine/MCJIT/remote/multi-module-c.ir (limited to 'test/ExecutionEngine') diff --git a/test/ExecutionEngine/MCJIT/cross-module-a.ll b/test/ExecutionEngine/MCJIT/cross-module-a.ll new file mode 100644 index 0000000..201a670 --- /dev/null +++ b/test/ExecutionEngine/MCJIT/cross-module-a.ll @@ -0,0 +1,13 @@ +; RUN: %lli_mcjit -extra-modules=%p/cross-module-b.ir %s > /dev/null + +declare i32 @FB() + +define i32 @FA() { + ret i32 0 +} + +define i32 @main() { + %r = call i32 @FB( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/cross-module-b.ir b/test/ExecutionEngine/MCJIT/cross-module-b.ir new file mode 100644 index 0000000..6870117 --- /dev/null +++ b/test/ExecutionEngine/MCJIT/cross-module-b.ir @@ -0,0 +1,7 @@ +declare i32 @FA() + +define i32 @FB() { + %r = call i32 @FA( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/multi-module-a.ll b/test/ExecutionEngine/MCJIT/multi-module-a.ll new file mode 100644 index 0000000..9c6de8d --- /dev/null +++ b/test/ExecutionEngine/MCJIT/multi-module-a.ll @@ -0,0 +1,9 @@ +; RUN: %lli_mcjit -extra-modules=%p/multi-module-b.ir,%p/multi-module-c.ir %s > /dev/null + +declare i32 @FB() + +define i32 @main() { + %r = call i32 @FB( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/multi-module-b.ir b/test/ExecutionEngine/MCJIT/multi-module-b.ir new file mode 100644 index 0000000..103b601 --- /dev/null +++ b/test/ExecutionEngine/MCJIT/multi-module-b.ir @@ -0,0 +1,7 @@ +declare i32 @FC() + +define i32 @FB() { + %r = call i32 @FC( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/multi-module-c.ir b/test/ExecutionEngine/MCJIT/multi-module-c.ir new file mode 100644 index 0000000..b39306b --- /dev/null +++ b/test/ExecutionEngine/MCJIT/multi-module-c.ir @@ -0,0 +1,4 @@ +define i32 @FC() { + ret i32 0 +} + diff --git a/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll b/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll new file mode 100644 index 0000000..1e55d2d --- /dev/null +++ b/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll @@ -0,0 +1,13 @@ +; RUN: %lli_mcjit -extra-modules=%p/cross-module-b.ir -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target %s > /dev/null + +declare i32 @FB() + +define i32 @FA() { + ret i32 0 +} + +define i32 @main() { + %r = call i32 @FB( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/remote/cross-module-b.ir b/test/ExecutionEngine/MCJIT/remote/cross-module-b.ir new file mode 100644 index 0000000..6870117 --- /dev/null +++ b/test/ExecutionEngine/MCJIT/remote/cross-module-b.ir @@ -0,0 +1,7 @@ +declare i32 @FA() + +define i32 @FB() { + %r = call i32 @FA( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll b/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll new file mode 100644 index 0000000..f49acf7 --- /dev/null +++ b/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll @@ -0,0 +1,9 @@ +; RUN: %lli_mcjit -extra-modules=%p/multi-module-b.ir,%p/multi-module-c.ir -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target %s > /dev/null + +declare i32 @FB() + +define i32 @main() { + %r = call i32 @FB( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/remote/multi-module-b.ir b/test/ExecutionEngine/MCJIT/remote/multi-module-b.ir new file mode 100644 index 0000000..103b601 --- /dev/null +++ b/test/ExecutionEngine/MCJIT/remote/multi-module-b.ir @@ -0,0 +1,7 @@ +declare i32 @FC() + +define i32 @FB() { + %r = call i32 @FC( ) ; [#uses=1] + ret i32 %r +} + diff --git a/test/ExecutionEngine/MCJIT/remote/multi-module-c.ir b/test/ExecutionEngine/MCJIT/remote/multi-module-c.ir new file mode 100644 index 0000000..b39306b --- /dev/null +++ b/test/ExecutionEngine/MCJIT/remote/multi-module-c.ir @@ -0,0 +1,4 @@ +define i32 @FC() { + ret i32 0 +} + -- cgit v1.1