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
; 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
--- /dev/null
+; 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
+}
--- /dev/null
+; 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
+}