From cdb79ba98239cd7022af7a7305e60c6e3afe99f1 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Mon, 2 Feb 2015 05:04:55 +0000 Subject: [PATCH] [Orc] Regression tests for OrcMCJITReplacement. Duplicated from the MCJIT regression tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227780 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../OrcJIT/2002-12-16-ArgTest.ll | 37 ++++++ .../OrcJIT/2003-01-04-ArgumentBug.ll | 13 +++ .../OrcJIT/2003-01-04-LoopTest.ll | 20 ++++ .../OrcJIT/2003-01-04-PhiTest.ll | 12 ++ .../OrcJIT/2003-01-09-SARTest.ll | 11 ++ .../OrcJIT/2003-01-10-FUCOM.ll | 10 ++ .../OrcJIT/2003-01-15-AlignmentTest.ll | 17 +++ .../OrcJIT/2003-05-06-LivenessClobber.ll | 19 +++ .../OrcJIT/2003-05-07-ArgumentTest.ll | 11 ++ .../OrcJIT/2003-05-11-PHIRegAllocBug.ll | 13 +++ .../OrcJIT/2003-06-04-bzip2-bug.ll | 17 +++ .../OrcJIT/2003-06-05-PHIBug.ll | 15 +++ .../OrcJIT/2003-08-15-AllocaAssertion.ll | 11 ++ .../OrcJIT/2003-08-21-EnvironmentTest.ll | 21 ++++ .../2003-08-23-RegisterAllocatePhysReg.ll | 34 ++++++ ...8-PHINode-ConstantExpr-CondCode-Failure.ll | 23 ++++ .../OrcJIT/2005-12-02-TailCallBug.ll | 22 ++++ .../OrcJIT/2007-12-10-APIntLoadStore.ll | 19 +++ .../OrcJIT/2008-06-05-APInt-OverAShr.ll | 60 ++++++++++ .../OrcJIT/2013-04-04-RelocAddend.ll | 25 ++++ .../OrcJIT/Inputs/cross-module-b.ll | 7 ++ .../OrcJIT/Inputs/multi-module-b.ll | 7 ++ .../OrcJIT/Inputs/multi-module-c.ll | 4 + .../OrcJIT/Inputs/multi-module-eh-b.ll | 30 +++++ test/ExecutionEngine/OrcJIT/cross-module-a.ll | 13 +++ .../OrcJIT/cross-module-sm-pic-a.ll | 14 +++ test/ExecutionEngine/OrcJIT/eh-lg-pic.ll | 32 +++++ test/ExecutionEngine/OrcJIT/eh-sm-pic.ll | 32 +++++ test/ExecutionEngine/OrcJIT/eh.ll | 32 +++++ test/ExecutionEngine/OrcJIT/fpbitcast.ll | 21 ++++ test/ExecutionEngine/OrcJIT/hello-sm-pic.ll | 12 ++ test/ExecutionEngine/OrcJIT/hello.ll | 11 ++ test/ExecutionEngine/OrcJIT/hello2.ll | 17 +++ test/ExecutionEngine/OrcJIT/lit.local.cfg | 26 +++++ test/ExecutionEngine/OrcJIT/load-object-a.ll | 24 ++++ test/ExecutionEngine/OrcJIT/multi-module-a.ll | 9 ++ .../OrcJIT/multi-module-eh-a.ll | 35 ++++++ .../OrcJIT/multi-module-sm-pic-a.ll | 10 ++ .../OrcJIT/non-extern-addend.ll | 21 ++++ test/ExecutionEngine/OrcJIT/pr13727.ll | 88 ++++++++++++++ .../OrcJIT/remote/Inputs/cross-module-b.ll | 7 ++ .../OrcJIT/remote/Inputs/multi-module-b.ll | 7 ++ .../OrcJIT/remote/Inputs/multi-module-c.ll | 4 + .../OrcJIT/remote/cross-module-a.ll | 12 ++ .../OrcJIT/remote/cross-module-sm-pic-a.ll | 14 +++ .../OrcJIT/remote/lit.local.cfg | 8 ++ .../OrcJIT/remote/multi-module-a.ll | 9 ++ .../OrcJIT/remote/multi-module-sm-pic-a.ll | 10 ++ .../OrcJIT/remote/simpletest-remote.ll | 10 ++ .../OrcJIT/remote/stubs-remote.ll | 37 ++++++ .../OrcJIT/remote/stubs-sm-pic.ll | 37 ++++++ .../remote/test-common-symbols-remote.ll | 88 ++++++++++++++ .../OrcJIT/remote/test-data-align-remote.ll | 15 +++ .../test-fp-no-external-funcs-remote.ll | 20 ++++ .../remote/test-global-init-nonzero-remote.ll | 34 ++++++ .../remote/test-global-init-nonzero-sm-pic.ll | 35 ++++++ .../OrcJIT/remote/test-ptr-reloc-remote.ll | 15 +++ .../OrcJIT/remote/test-ptr-reloc-sm-pic.ll | 17 +++ test/ExecutionEngine/OrcJIT/simplesttest.ll | 6 + test/ExecutionEngine/OrcJIT/simpletest.ll | 11 ++ test/ExecutionEngine/OrcJIT/stubs-sm-pic.ll | 36 ++++++ test/ExecutionEngine/OrcJIT/stubs.ll | 35 ++++++ test/ExecutionEngine/OrcJIT/test-arith.ll | 34 ++++++ test/ExecutionEngine/OrcJIT/test-branch.ll | 12 ++ .../OrcJIT/test-call-no-external-funcs.ll | 14 +++ test/ExecutionEngine/OrcJIT/test-call.ll | 21 ++++ test/ExecutionEngine/OrcJIT/test-cast.ll | 109 ++++++++++++++++++ .../OrcJIT/test-common-symbols-alignment.ll | 32 +++++ .../OrcJIT/test-common-symbols.ll | 88 ++++++++++++++ .../OrcJIT/test-constantexpr.ll | 12 ++ .../ExecutionEngine/OrcJIT/test-data-align.ll | 15 +++ .../OrcJIT/test-fp-no-external-funcs.ll | 21 ++++ test/ExecutionEngine/OrcJIT/test-fp.ll | 23 ++++ .../OrcJIT/test-global-ctors.ll | 22 ++++ .../OrcJIT/test-global-init-nonzero-sm-pic.ll | 35 ++++++ .../OrcJIT/test-global-init-nonzero.ll | 34 ++++++ test/ExecutionEngine/OrcJIT/test-global.ll | 34 ++++++ test/ExecutionEngine/OrcJIT/test-loadstore.ll | 31 +++++ test/ExecutionEngine/OrcJIT/test-local.ll | 34 ++++++ test/ExecutionEngine/OrcJIT/test-logical.ll | 18 +++ test/ExecutionEngine/OrcJIT/test-loop.ll | 14 +++ test/ExecutionEngine/OrcJIT/test-phi.ll | 34 ++++++ .../OrcJIT/test-ptr-reloc-sm-pic.ll | 17 +++ test/ExecutionEngine/OrcJIT/test-ptr-reloc.ll | 16 +++ test/ExecutionEngine/OrcJIT/test-ret.ll | 46 ++++++++ test/ExecutionEngine/OrcJIT/test-return.ll | 8 ++ .../ExecutionEngine/OrcJIT/test-setcond-fp.ll | 24 ++++ .../OrcJIT/test-setcond-int.ll | 69 +++++++++++ test/ExecutionEngine/OrcJIT/test-shift.ll | 32 +++++ 89 files changed, 2171 insertions(+) create mode 100644 test/ExecutionEngine/OrcJIT/2002-12-16-ArgTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-01-04-ArgumentBug.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-01-04-LoopTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-01-04-PhiTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-01-09-SARTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-01-10-FUCOM.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-01-15-AlignmentTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-05-06-LivenessClobber.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-05-07-ArgumentTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-05-11-PHIRegAllocBug.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-06-04-bzip2-bug.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-06-05-PHIBug.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-08-15-AllocaAssertion.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-08-21-EnvironmentTest.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-08-23-RegisterAllocatePhysReg.ll create mode 100644 test/ExecutionEngine/OrcJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll create mode 100644 test/ExecutionEngine/OrcJIT/2005-12-02-TailCallBug.ll create mode 100644 test/ExecutionEngine/OrcJIT/2007-12-10-APIntLoadStore.ll create mode 100644 test/ExecutionEngine/OrcJIT/2008-06-05-APInt-OverAShr.ll create mode 100644 test/ExecutionEngine/OrcJIT/2013-04-04-RelocAddend.ll create mode 100644 test/ExecutionEngine/OrcJIT/Inputs/cross-module-b.ll create mode 100644 test/ExecutionEngine/OrcJIT/Inputs/multi-module-b.ll create mode 100644 test/ExecutionEngine/OrcJIT/Inputs/multi-module-c.ll create mode 100644 test/ExecutionEngine/OrcJIT/Inputs/multi-module-eh-b.ll create mode 100644 test/ExecutionEngine/OrcJIT/cross-module-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/cross-module-sm-pic-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/eh-lg-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/eh-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/eh.ll create mode 100644 test/ExecutionEngine/OrcJIT/fpbitcast.ll create mode 100644 test/ExecutionEngine/OrcJIT/hello-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/hello.ll create mode 100644 test/ExecutionEngine/OrcJIT/hello2.ll create mode 100644 test/ExecutionEngine/OrcJIT/lit.local.cfg create mode 100644 test/ExecutionEngine/OrcJIT/load-object-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/multi-module-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/multi-module-eh-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/multi-module-sm-pic-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/non-extern-addend.ll create mode 100644 test/ExecutionEngine/OrcJIT/pr13727.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/Inputs/cross-module-b.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/Inputs/multi-module-b.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/Inputs/multi-module-c.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/cross-module-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/cross-module-sm-pic-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/lit.local.cfg create mode 100644 test/ExecutionEngine/OrcJIT/remote/multi-module-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/multi-module-sm-pic-a.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/simpletest-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/stubs-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/stubs-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-common-symbols-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-data-align-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-fp-no-external-funcs-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-global-init-nonzero-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-global-init-nonzero-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-ptr-reloc-remote.ll create mode 100644 test/ExecutionEngine/OrcJIT/remote/test-ptr-reloc-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/simplesttest.ll create mode 100644 test/ExecutionEngine/OrcJIT/simpletest.ll create mode 100644 test/ExecutionEngine/OrcJIT/stubs-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/stubs.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-arith.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-branch.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-call-no-external-funcs.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-call.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-cast.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-common-symbols-alignment.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-common-symbols.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-constantexpr.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-data-align.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-fp-no-external-funcs.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-fp.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-global-ctors.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-global-init-nonzero-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-global-init-nonzero.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-global.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-loadstore.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-local.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-logical.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-loop.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-phi.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-ptr-reloc-sm-pic.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-ptr-reloc.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-ret.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-return.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-setcond-fp.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-setcond-int.ll create mode 100644 test/ExecutionEngine/OrcJIT/test-shift.ll diff --git a/test/ExecutionEngine/OrcJIT/2002-12-16-ArgTest.ll b/test/ExecutionEngine/OrcJIT/2002-12-16-ArgTest.ll new file mode 100644 index 00000000000..e2fee8d5e51 --- /dev/null +++ b/test/ExecutionEngine/OrcJIT/2002-12-16-ArgTest.ll @@ -0,0 +1,37 @@ +; RUN: %lli -use-orcmcjit %s > /dev/null + +@.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1] + +declare i32 @puts(i8*) + +define void @getoptions(i32* %argc) { +bb0: + ret void +} + +declare i32 @printf(i8*, ...) + +define i32 @main(i32 %argc, i8** %argv) { +bb0: + call i32 (i8*, ...)* @printf( i8* getelementptr ([10 x i8]* @.LC0, i64 0, i64 0), i32 %argc ) ; :0 [#uses=0] + %cast224 = bitcast i8** %argv to i8* ; [#uses=1] + %local = alloca i8* ; [#uses=3] + store i8* %cast224, i8** %local + %cond226 = icmp sle i32 %argc, 0 ; [#uses=1] + br i1 %cond226, label %bb3, label %bb2 +bb2: ; preds = %bb2, %bb0 + %cann-indvar = phi i32 [ 0, %bb0 ], [ %add1-indvar, %bb2 ] ; [#uses=2] + %add1-indvar = add i32 %cann-indvar, 1 ; [#uses=2] + %cann-indvar-idxcast = sext i32 %cann-indvar to i64 ; [#uses=1] + %CT = bitcast i8** %local to i8*** ; [#uses=1] + %reg115 = load i8*** %CT ; [#uses=1] + %cast235 = getelementptr i8** %reg115, i64 %cann-indvar-idxcast ; [#uses=1] + %reg117 = load i8** %cast235 ; [#uses=1] + %reg236 = call i32 @puts( i8* %reg117 ) ; [#uses=0] + %cond239 = icmp slt i32 %add1-indvar, %argc ; [#uses=1] + br i1 %cond239, label %bb2, label %bb3 +bb3: ; preds = %bb2, %bb0 + %cast243 = bitcast i8** %local to i32* ; [#uses=1] + call void @getoptions( i32* %cast243 ) + ret i32 0 +} diff --git a/test/ExecutionEngine/OrcJIT/2003-01-04-ArgumentBug.ll b/test/ExecutionEngine/OrcJIT/2003-01-04-ArgumentBug.ll new file mode 100644 index 00000000000..67425a9a3a3 --- /dev/null +++ b/test/ExecutionEngine/OrcJIT/2003-01-04-ArgumentBug.ll @@ -0,0 +1,13 @@ +; RUN: %lli -use-orcmcjit %s > /dev/null + +define i32 @foo(i32 %X, i32 %Y, double %A) { + %cond212 = fcmp une double %A, 1.000000e+00 ; [#uses=1] + %cast110 = zext i1 %cond212 to i32 ; [#uses=1] + ret i32 %cast110 +} + +define i32 @main() { + %reg212 = call i32 @foo( i32 0, i32 1, double 1.000000e+00 ) ; [#uses=1] + ret i32 %reg212 +} + diff --git a/test/ExecutionEngine/OrcJIT/2003-01-04-LoopTest.ll b/test/ExecutionEngine/OrcJIT/2003-01-04-LoopTest.ll new file mode 100644 index 00000000000..cf805ea4162 --- /dev/null +++ b/test/ExecutionEngine/OrcJIT/2003-01-04-LoopTest.ll @@ -0,0 +1,20 @@ +; RUN: %lli -use-orcmcjit %s > /dev/null + +define i32 @main() { + call i32 @mylog( i32 4 ) ; :1 [#uses=0] + ret i32 0 +} + +define internal i32 @mylog(i32 %num) { +bb0: + br label %bb2 +bb2: ; preds = %bb2, %bb0 + %reg112 = phi i32 [ 10, %bb2 ], [ 1, %bb0 ] ; [#uses=1] + %cann-indvar = phi i32 [ %cann-indvar, %bb2 ], [ 0, %bb0 ] ; [#uses=1] + %reg114 = add i32 %reg112, 1 ; [#uses=2] + %cond222 = icmp slt i32 %reg114, %num ; [#uses=1] + br i1 %cond222, label %bb2, label %bb3 +bb3: ; preds = %bb2 + ret i32 %reg114 +} + diff --git a/test/ExecutionEngine/OrcJIT/2003-01-04-PhiTest.ll b/test/ExecutionEngine/OrcJIT/2003-01-04-PhiTest.ll new file mode 100644 index 00000000000..b8b851966c0 --- /dev/null +++ b/test/ExecutionEngine/OrcJIT/2003-01-04-PhiTest.ll @@ -0,0 +1,12 @@ +; RUN: %lli -use-orcmcjit %s > /dev/null + +define i32 @main() { +;