[ORC] Add some more basic sanity tests for the LLJIT.
authorLang Hames <lhames@gmail.com>
Sat, 20 Oct 2018 20:39:53 +0000 (20:39 +0000)
committerLang Hames <lhames@gmail.com>
Sat, 20 Oct 2018 20:39:53 +0000 (20:39 +0000)
minimal.ll contains a main function that returns zero, and
single-function-call.ll contains a main function that calls a foo function that
returns zero. These minimal tests can help to rule out some trivial JIT bugs
when other tests fail.

This commit also renames hello.ll to global-ctors-and-dtors.ll, which better
reflects what it is actually testing.

llvm-svn: 344863

llvm/test/ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll [moved from llvm/test/ExecutionEngine/OrcLazy/hello.ll with 95% similarity]
llvm/test/ExecutionEngine/OrcLazy/minimal.ll [new file with mode: 0644]
llvm/test/ExecutionEngine/OrcLazy/single-function-call.ll [new file with mode: 0644]

@@ -1,5 +1,7 @@
 ; RUN: lli -jit-kind=orc-lazy -orc-lazy-debug=funcs-to-stdout %s | FileCheck %s
 ;
+; Test that global constructors and destructors are run.
+;
 ; CHECK: Hello
 ; CHECK: [ {{.*}}main{{.*}} ]
 ; CHECK: Goodbye
diff --git a/llvm/test/ExecutionEngine/OrcLazy/minimal.ll b/llvm/test/ExecutionEngine/OrcLazy/minimal.ll
new file mode 100644 (file)
index 0000000..86087bc
--- /dev/null
@@ -0,0 +1,8 @@
+; RUN: lli -jit-kind=orc-lazy %s
+;
+; Basic sanity check: A module with a single no-op main function runs.
+
+define i32 @main(i32 %argc, i8** nocapture readnone %argv) {
+entry:
+  ret i32 0
+}
diff --git a/llvm/test/ExecutionEngine/OrcLazy/single-function-call.ll b/llvm/test/ExecutionEngine/OrcLazy/single-function-call.ll
new file mode 100644 (file)
index 0000000..fba5202
--- /dev/null
@@ -0,0 +1,15 @@
+; RUN: lli -jit-kind=orc-lazy %s
+;
+; Basic sanity check: We can make a call inside lazily JIT'd code.
+; Compared to minimal.ll, this demonstrates that we can call through a stub.
+
+define i32 @foo() {
+entry:
+  ret i32 0
+}
+
+define i32 @main(i32 %argc, i8** nocapture readnone %argv) {
+entry:
+  %0 = call i32() @foo()
+  ret i32 %0
+}