summaryrefslogtreecommitdiff
path: root/test/ExecutionEngine
diff options
context:
space:
mode:
authorAndrew Kaylor <andrew.kaylor@intel.com>2013-10-04 00:49:38 +0000
committerAndrew Kaylor <andrew.kaylor@intel.com>2013-10-04 00:49:38 +0000
commitb868e9101c138016aad5bd910b67f40a3213d6fc (patch)
treeb05a180526bddc492c2860fc27dfecb3215995c5 /test/ExecutionEngine
parent7c9659a3b297be6298ffae4656b86797295c5d58 (diff)
downloadllvm-b868e9101c138016aad5bd910b67f40a3213d6fc.tar.gz
llvm-b868e9101c138016aad5bd910b67f40a3213d6fc.tar.bz2
llvm-b868e9101c138016aad5bd910b67f40a3213d6fc.tar.xz
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
Diffstat (limited to 'test/ExecutionEngine')
-rw-r--r--test/ExecutionEngine/MCJIT/cross-module-a.ll13
-rw-r--r--test/ExecutionEngine/MCJIT/cross-module-b.ir7
-rw-r--r--test/ExecutionEngine/MCJIT/multi-module-a.ll9
-rw-r--r--test/ExecutionEngine/MCJIT/multi-module-b.ir7
-rw-r--r--test/ExecutionEngine/MCJIT/multi-module-c.ir4
-rw-r--r--test/ExecutionEngine/MCJIT/remote/cross-module-a.ll13
-rw-r--r--test/ExecutionEngine/MCJIT/remote/cross-module-b.ir7
-rw-r--r--test/ExecutionEngine/MCJIT/remote/multi-module-a.ll9
-rw-r--r--test/ExecutionEngine/MCJIT/remote/multi-module-b.ir7
-rw-r--r--test/ExecutionEngine/MCJIT/remote/multi-module-c.ir4
10 files changed, 80 insertions, 0 deletions
diff --git a/test/ExecutionEngine/MCJIT/cross-module-a.ll b/test/ExecutionEngine/MCJIT/cross-module-a.ll
new file mode 100644
index 0000000000..201a6701fb
--- /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( ) ; <i32> [#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 0000000000..6870117411
--- /dev/null
+++ b/test/ExecutionEngine/MCJIT/cross-module-b.ir
@@ -0,0 +1,7 @@
+declare i32 @FA()
+
+define i32 @FB() {
+ %r = call i32 @FA( ) ; <i32> [#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 0000000000..9c6de8dd8b
--- /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( ) ; <i32> [#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 0000000000..103b601e7f
--- /dev/null
+++ b/test/ExecutionEngine/MCJIT/multi-module-b.ir
@@ -0,0 +1,7 @@
+declare i32 @FC()
+
+define i32 @FB() {
+ %r = call i32 @FC( ) ; <i32> [#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 0000000000..b39306be9e
--- /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 0000000000..1e55d2d6a2
--- /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( ) ; <i32> [#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 0000000000..6870117411
--- /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( ) ; <i32> [#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 0000000000..f49acf7c18
--- /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( ) ; <i32> [#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 0000000000..103b601e7f
--- /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( ) ; <i32> [#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 0000000000..b39306be9e
--- /dev/null
+++ b/test/ExecutionEngine/MCJIT/remote/multi-module-c.ir
@@ -0,0 +1,4 @@
+define i32 @FC() {
+ ret i32 0
+}
+