diff options
author | Stephen Hines <srhines@google.com> | 2014-12-01 14:51:49 -0800 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-12-02 16:08:10 -0800 |
commit | 37ed9c199ca639565f6ce88105f9e39e898d82d0 (patch) | |
tree | 8fb36d3910e3ee4c4e1b7422f4f017108efc52f5 /test/ExecutionEngine | |
parent | d2327b22152ced7bc46dc629fc908959e8a52d03 (diff) | |
download | external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.zip external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.tar.gz external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.tar.bz2 |
Update aosp/master LLVM for rebase to r222494.
Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
Diffstat (limited to 'test/ExecutionEngine')
119 files changed, 357 insertions, 116 deletions
diff --git a/test/ExecutionEngine/2002-12-16-ArgTest.ll b/test/ExecutionEngine/2002-12-16-ArgTest.ll index 4c03519..eb2fe8c 100644 --- a/test/ExecutionEngine/2002-12-16-ArgTest.ll +++ b/test/ExecutionEngine/2002-12-16-ArgTest.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm @.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/2003-01-04-ArgumentBug.ll b/test/ExecutionEngine/2003-01-04-ArgumentBug.ll index 3182193..68fdefe 100644 --- a/test/ExecutionEngine/2003-01-04-ArgumentBug.ll +++ b/test/ExecutionEngine/2003-01-04-ArgumentBug.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i32 @foo(i32 %X, i32 %Y, double %A) { %cond212 = fcmp une double %A, 1.000000e+00 ; <i1> [#uses=1] diff --git a/test/ExecutionEngine/2003-01-04-LoopTest.ll b/test/ExecutionEngine/2003-01-04-LoopTest.ll index 3e27e06..5a0311d 100644 --- a/test/ExecutionEngine/2003-01-04-LoopTest.ll +++ b/test/ExecutionEngine/2003-01-04-LoopTest.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i32 @main() { call i32 @mylog( i32 4 ) ; <i32>:1 [#uses=0] diff --git a/test/ExecutionEngine/2003-01-15-AlignmentTest.ll b/test/ExecutionEngine/2003-01-15-AlignmentTest.ll index 80e19ba..038d750 100644 --- a/test/ExecutionEngine/2003-01-15-AlignmentTest.ll +++ b/test/ExecutionEngine/2003-01-15-AlignmentTest.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i32 @bar(i8* %X) { ; pointer should be 4 byte aligned! diff --git a/test/ExecutionEngine/2003-05-06-LivenessClobber.ll b/test/ExecutionEngine/2003-05-06-LivenessClobber.ll index 6f61aa6..576ef7c 100644 --- a/test/ExecutionEngine/2003-05-06-LivenessClobber.ll +++ b/test/ExecutionEngine/2003-05-06-LivenessClobber.ll @@ -1,7 +1,6 @@ ; This testcase should return with an exit code of 1. ; ; RUN: not %lli %s -; XFAIL: arm @test = global i64 0 ; <i64*> [#uses=1] diff --git a/test/ExecutionEngine/2003-05-07-ArgumentTest.ll b/test/ExecutionEngine/2003-05-07-ArgumentTest.ll index 236be18..42db5fe 100644 --- a/test/ExecutionEngine/2003-05-07-ArgumentTest.ll +++ b/test/ExecutionEngine/2003-05-07-ArgumentTest.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s test -; XFAIL: arm declare i32 @puts(i8*) diff --git a/test/ExecutionEngine/2003-08-15-AllocaAssertion.ll b/test/ExecutionEngine/2003-08-15-AllocaAssertion.ll index 22dd4cc..bee409c 100644 --- a/test/ExecutionEngine/2003-08-15-AllocaAssertion.ll +++ b/test/ExecutionEngine/2003-08-15-AllocaAssertion.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm ; This testcase failed to work because two variable sized allocas confused the ; local register allocator. diff --git a/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll b/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll index 60dc3d6..63303fc 100644 --- a/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll +++ b/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm ; ; Regression Test: EnvironmentTest.ll diff --git a/test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll b/test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll index 04a5e17..8fb1bbb 100644 --- a/test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll +++ b/test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm ; This testcase exposes a bug in the local register allocator where it runs out ; of registers (due to too many overlapping live ranges), but then attempts to diff --git a/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll b/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll index 6e48c60..6513540 100644 --- a/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll +++ b/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm @A = global i32 0 ; <i32*> [#uses=1] diff --git a/test/ExecutionEngine/2005-12-02-TailCallBug.ll b/test/ExecutionEngine/2005-12-02-TailCallBug.ll index 8523b5e..2ac8ad1 100644 --- a/test/ExecutionEngine/2005-12-02-TailCallBug.ll +++ b/test/ExecutionEngine/2005-12-02-TailCallBug.ll @@ -1,6 +1,5 @@ ; PR672 ; RUN: %lli %s -; XFAIL: arm define i32 @main() { %f = bitcast i32 (i32, i32*, i32)* @check_tail to i32* ; <i32*> [#uses=1] diff --git a/test/ExecutionEngine/Interpreter/intrinsics.ll b/test/ExecutionEngine/Interpreter/intrinsics.ll new file mode 100644 index 0000000..49d0bbe --- /dev/null +++ b/test/ExecutionEngine/Interpreter/intrinsics.ll @@ -0,0 +1,35 @@ +; RUN: lli -O0 -force-interpreter < %s + +; libffi does not support fp128 so we don’t test it +declare float @llvm.sin.f32(float) +declare double @llvm.sin.f64(double) +declare float @llvm.cos.f32(float) +declare double @llvm.cos.f64(double) +declare float @llvm.floor.f32(float) +declare double @llvm.floor.f64(double) +declare float @llvm.ceil.f32(float) +declare double @llvm.ceil.f64(double) +declare float @llvm.trunc.f32(float) +declare double @llvm.trunc.f64(double) +declare float @llvm.round.f32(float) +declare double @llvm.round.f64(double) +declare float @llvm.copysign.f32(float, float) +declare double @llvm.copysign.f64(double, double) + +define i32 @main() { + %sin32 = call float @llvm.sin.f32(float 0.000000e+00) + %sin64 = call double @llvm.sin.f64(double 0.000000e+00) + %cos32 = call float @llvm.cos.f32(float 0.000000e+00) + %cos64 = call double @llvm.cos.f64(double 0.000000e+00) + %floor32 = call float @llvm.floor.f32(float 0.000000e+00) + %floor64 = call double @llvm.floor.f64(double 0.000000e+00) + %ceil32 = call float @llvm.ceil.f32(float 0.000000e+00) + %ceil64 = call double @llvm.ceil.f64(double 0.000000e+00) + %trunc32 = call float @llvm.trunc.f32(float 0.000000e+00) + %trunc64 = call double @llvm.trunc.f64(double 0.000000e+00) + %round32 = call float @llvm.round.f32(float 0.000000e+00) + %round64 = call double @llvm.round.f64(double 0.000000e+00) + %copysign32 = call float @llvm.copysign.f32(float 0.000000e+00, float 0.000000e+00) + %copysign64 = call double @llvm.copysign.f64(double 0.000000e+00, double 0.000000e+00) + ret i32 0 +} diff --git a/test/ExecutionEngine/Interpreter/lit.local.cfg b/test/ExecutionEngine/Interpreter/lit.local.cfg new file mode 100644 index 0000000..8cbaf03 --- /dev/null +++ b/test/ExecutionEngine/Interpreter/lit.local.cfg @@ -0,0 +1,3 @@ +# These tests require foreign function calls +if config.enable_ffi != "ON": + config.unsupported = True diff --git a/test/ExecutionEngine/MCJIT/2002-12-16-ArgTest.ll b/test/ExecutionEngine/MCJIT/2002-12-16-ArgTest.ll index babd8f6..eb2fe8c 100644 --- a/test/ExecutionEngine/MCJIT/2002-12-16-ArgTest.ll +++ b/test/ExecutionEngine/MCJIT/2002-12-16-ArgTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null @.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/2003-01-04-ArgumentBug.ll b/test/ExecutionEngine/MCJIT/2003-01-04-ArgumentBug.ll index bbb81b8..68fdefe 100644 --- a/test/ExecutionEngine/MCJIT/2003-01-04-ArgumentBug.ll +++ b/test/ExecutionEngine/MCJIT/2003-01-04-ArgumentBug.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @foo(i32 %X, i32 %Y, double %A) { %cond212 = fcmp une double %A, 1.000000e+00 ; <i1> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/2003-01-04-LoopTest.ll b/test/ExecutionEngine/MCJIT/2003-01-04-LoopTest.ll index 7574267..5a0311d 100644 --- a/test/ExecutionEngine/MCJIT/2003-01-04-LoopTest.ll +++ b/test/ExecutionEngine/MCJIT/2003-01-04-LoopTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { call i32 @mylog( i32 4 ) ; <i32>:1 [#uses=0] diff --git a/test/ExecutionEngine/MCJIT/2003-01-04-PhiTest.ll b/test/ExecutionEngine/MCJIT/2003-01-04-PhiTest.ll index 261939a..48576e7 100644 --- a/test/ExecutionEngine/MCJIT/2003-01-04-PhiTest.ll +++ b/test/ExecutionEngine/MCJIT/2003-01-04-PhiTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { ; <label>:0 diff --git a/test/ExecutionEngine/MCJIT/2003-01-09-SARTest.ll b/test/ExecutionEngine/MCJIT/2003-01-09-SARTest.ll index f76f998..ed58e11 100644 --- a/test/ExecutionEngine/MCJIT/2003-01-09-SARTest.ll +++ b/test/ExecutionEngine/MCJIT/2003-01-09-SARTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; We were accidentally inverting the signedness of right shifts. Whoops. diff --git a/test/ExecutionEngine/MCJIT/2003-01-10-FUCOM.ll b/test/ExecutionEngine/MCJIT/2003-01-10-FUCOM.ll index 2b83bb9..4960e59 100644 --- a/test/ExecutionEngine/MCJIT/2003-01-10-FUCOM.ll +++ b/test/ExecutionEngine/MCJIT/2003-01-10-FUCOM.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { %X = fadd double 0.000000e+00, 1.000000e+00 ; <double> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/2003-01-15-AlignmentTest.ll b/test/ExecutionEngine/MCJIT/2003-01-15-AlignmentTest.ll index d1ca2be..038d750 100644 --- a/test/ExecutionEngine/MCJIT/2003-01-15-AlignmentTest.ll +++ b/test/ExecutionEngine/MCJIT/2003-01-15-AlignmentTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @bar(i8* %X) { ; pointer should be 4 byte aligned! diff --git a/test/ExecutionEngine/MCJIT/2003-05-06-LivenessClobber.ll b/test/ExecutionEngine/MCJIT/2003-05-06-LivenessClobber.ll index 20ef0ff..576ef7c 100644 --- a/test/ExecutionEngine/MCJIT/2003-05-06-LivenessClobber.ll +++ b/test/ExecutionEngine/MCJIT/2003-05-06-LivenessClobber.ll @@ -1,6 +1,6 @@ ; This testcase should return with an exit code of 1. ; -; RUN: not %lli_mcjit %s +; RUN: not %lli %s @test = global i64 0 ; <i64*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/2003-05-07-ArgumentTest.ll b/test/ExecutionEngine/MCJIT/2003-05-07-ArgumentTest.ll index c7bcc54..42db5fe 100644 --- a/test/ExecutionEngine/MCJIT/2003-05-07-ArgumentTest.ll +++ b/test/ExecutionEngine/MCJIT/2003-05-07-ArgumentTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s test +; RUN: %lli %s test declare i32 @puts(i8*) diff --git a/test/ExecutionEngine/MCJIT/2003-05-11-PHIRegAllocBug.ll b/test/ExecutionEngine/MCJIT/2003-05-11-PHIRegAllocBug.ll index 0512575..45279ad 100644 --- a/test/ExecutionEngine/MCJIT/2003-05-11-PHIRegAllocBug.ll +++ b/test/ExecutionEngine/MCJIT/2003-05-11-PHIRegAllocBug.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null target datalayout = "e-p:32:32" diff --git a/test/ExecutionEngine/MCJIT/2003-06-04-bzip2-bug.ll b/test/ExecutionEngine/MCJIT/2003-06-04-bzip2-bug.ll index c292a81..4342aa4 100644 --- a/test/ExecutionEngine/MCJIT/2003-06-04-bzip2-bug.ll +++ b/test/ExecutionEngine/MCJIT/2003-06-04-bzip2-bug.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; Testcase distilled from 256.bzip2. diff --git a/test/ExecutionEngine/MCJIT/2003-06-05-PHIBug.ll b/test/ExecutionEngine/MCJIT/2003-06-05-PHIBug.ll index c0a83f5..03b66c4 100644 --- a/test/ExecutionEngine/MCJIT/2003-06-05-PHIBug.ll +++ b/test/ExecutionEngine/MCJIT/2003-06-05-PHIBug.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; Testcase distilled from 256.bzip2. diff --git a/test/ExecutionEngine/MCJIT/2003-08-15-AllocaAssertion.ll b/test/ExecutionEngine/MCJIT/2003-08-15-AllocaAssertion.ll index 55ce689..bee409c 100644 --- a/test/ExecutionEngine/MCJIT/2003-08-15-AllocaAssertion.ll +++ b/test/ExecutionEngine/MCJIT/2003-08-15-AllocaAssertion.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; This testcase failed to work because two variable sized allocas confused the ; local register allocator. diff --git a/test/ExecutionEngine/MCJIT/2003-08-21-EnvironmentTest.ll b/test/ExecutionEngine/MCJIT/2003-08-21-EnvironmentTest.ll index 2e99996..63303fc 100644 --- a/test/ExecutionEngine/MCJIT/2003-08-21-EnvironmentTest.ll +++ b/test/ExecutionEngine/MCJIT/2003-08-21-EnvironmentTest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; ; Regression Test: EnvironmentTest.ll diff --git a/test/ExecutionEngine/MCJIT/2003-08-23-RegisterAllocatePhysReg.ll b/test/ExecutionEngine/MCJIT/2003-08-23-RegisterAllocatePhysReg.ll index 659901b..8fb1bbb 100644 --- a/test/ExecutionEngine/MCJIT/2003-08-23-RegisterAllocatePhysReg.ll +++ b/test/ExecutionEngine/MCJIT/2003-08-23-RegisterAllocatePhysReg.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; This testcase exposes a bug in the local register allocator where it runs out ; of registers (due to too many overlapping live ranges), but then attempts to diff --git a/test/ExecutionEngine/MCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll b/test/ExecutionEngine/MCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll index 68e31a7..6513540 100644 --- a/test/ExecutionEngine/MCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll +++ b/test/ExecutionEngine/MCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null @A = global i32 0 ; <i32*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/2005-12-02-TailCallBug.ll b/test/ExecutionEngine/MCJIT/2005-12-02-TailCallBug.ll index 0bc0105..6a3c0f2 100644 --- a/test/ExecutionEngine/MCJIT/2005-12-02-TailCallBug.ll +++ b/test/ExecutionEngine/MCJIT/2005-12-02-TailCallBug.ll @@ -1,5 +1,5 @@ ; PR672 -; RUN: %lli_mcjit %s +; RUN: %lli %s ; XFAIL: mcjit-ia32 define i32 @main() { diff --git a/test/ExecutionEngine/MCJIT/2007-12-10-APIntLoadStore.ll b/test/ExecutionEngine/MCJIT/2007-12-10-APIntLoadStore.ll index 43188f2..4183611 100644 --- a/test/ExecutionEngine/MCJIT/2007-12-10-APIntLoadStore.ll +++ b/test/ExecutionEngine/MCJIT/2007-12-10-APIntLoadStore.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -force-interpreter %s +; RUN: %lli -force-interpreter %s ; PR1836 define i32 @main() { diff --git a/test/ExecutionEngine/MCJIT/2008-06-05-APInt-OverAShr.ll b/test/ExecutionEngine/MCJIT/2008-06-05-APInt-OverAShr.ll index 9897602..349db69 100644 --- a/test/ExecutionEngine/MCJIT/2008-06-05-APInt-OverAShr.ll +++ b/test/ExecutionEngine/MCJIT/2008-06-05-APInt-OverAShr.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -force-interpreter=true %s | FileCheck %s +; RUN: %lli -force-interpreter=true %s | FileCheck %s ; CHECK: 1 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" diff --git a/test/ExecutionEngine/MCJIT/2010-01-15-UndefValue.ll b/test/ExecutionEngine/MCJIT/2010-01-15-UndefValue.ll index 7ed0e38..8bf03de 100644 --- a/test/ExecutionEngine/MCJIT/2010-01-15-UndefValue.ll +++ b/test/ExecutionEngine/MCJIT/2010-01-15-UndefValue.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -force-interpreter=true %s > /dev/null +; RUN: %lli -force-interpreter=true %s > /dev/null define i32 @main() { %a = add i32 0, undef diff --git a/test/ExecutionEngine/MCJIT/2013-04-04-RelocAddend.ll b/test/ExecutionEngine/MCJIT/2013-04-04-RelocAddend.ll index 3f402c5..d9ff347 100644 --- a/test/ExecutionEngine/MCJIT/2013-04-04-RelocAddend.ll +++ b/test/ExecutionEngine/MCJIT/2013-04-04-RelocAddend.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s +; RUN: %lli %s ; ; Verify relocations to global symbols with addend work correctly. ; diff --git a/test/ExecutionEngine/MCJIT/cross-module-a.ll b/test/ExecutionEngine/MCJIT/cross-module-a.ll index fe8d386..5d4e16f 100644 --- a/test/ExecutionEngine/MCJIT/cross-module-a.ll +++ b/test/ExecutionEngine/MCJIT/cross-module-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll %s > /dev/null +; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll %s > /dev/null declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll b/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll index ee26702..eb41424 100644 --- a/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll +++ b/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll @@ -1,5 +1,5 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips, i686, i386, arm +; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null +; XFAIL: mips, i686, i386 declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/eh-lg-pic.ll b/test/ExecutionEngine/MCJIT/eh-lg-pic.ll index 539c890..bd097f2 100644 --- a/test/ExecutionEngine/MCJIT/eh-lg-pic.ll +++ b/test/ExecutionEngine/MCJIT/eh-lg-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -relocation-model=pic -code-model=large %s +; RUN: %lli -relocation-model=pic -code-model=large %s ; XFAIL: cygwin, win32, mingw, mips, i686, i386, aarch64, arm declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) diff --git a/test/ExecutionEngine/MCJIT/eh-sm-pic.ll b/test/ExecutionEngine/MCJIT/eh-sm-pic.ll index 00c2bb0..f3e61dc 100644 --- a/test/ExecutionEngine/MCJIT/eh-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/eh-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -relocation-model=pic -code-model=small %s +; RUN: %lli -relocation-model=pic -code-model=small %s ; XFAIL: cygwin, win32, mingw, mips, i686, i386, darwin, aarch64, arm declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) diff --git a/test/ExecutionEngine/MCJIT/eh.ll b/test/ExecutionEngine/MCJIT/eh.ll index c213573..aa81bb5 100644 --- a/test/ExecutionEngine/MCJIT/eh.ll +++ b/test/ExecutionEngine/MCJIT/eh.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s +; RUN: %lli %s ; XFAIL: arm, cygwin, win32, mingw declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) diff --git a/test/ExecutionEngine/MCJIT/fpbitcast.ll b/test/ExecutionEngine/MCJIT/fpbitcast.ll index ea39617..e6d06f8 100644 --- a/test/ExecutionEngine/MCJIT/fpbitcast.ll +++ b/test/ExecutionEngine/MCJIT/fpbitcast.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -force-interpreter=true %s | FileCheck %s +; RUN: %lli -force-interpreter=true %s | FileCheck %s ; CHECK: 40091eb8 define i32 @test(double %x) { diff --git a/test/ExecutionEngine/MCJIT/hello-sm-pic.ll b/test/ExecutionEngine/MCJIT/hello-sm-pic.ll index 115846c..7db60f7 100644 --- a/test/ExecutionEngine/MCJIT/hello-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/hello-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -relocation-model=pic -code-model=small %s > /dev/null +; RUN: %lli -relocation-model=pic -code-model=small %s > /dev/null ; XFAIL: mips, i686, i386, darwin, aarch64, arm @.LC0 = internal global [12 x i8] c"Hello World\00" ; <[12 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/hello.ll b/test/ExecutionEngine/MCJIT/hello.ll index b744707..47e36a5 100644 --- a/test/ExecutionEngine/MCJIT/hello.ll +++ b/test/ExecutionEngine/MCJIT/hello.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null @.LC0 = internal global [12 x i8] c"Hello World\00" ; <[12 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/hello2.ll b/test/ExecutionEngine/MCJIT/hello2.ll index cd033d5..13b2588 100644 --- a/test/ExecutionEngine/MCJIT/hello2.ll +++ b/test/ExecutionEngine/MCJIT/hello2.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null @X = global i32 7 ; <i32*> [#uses=0] @msg = internal global [13 x i8] c"Hello World\0A\00" ; <[13 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/load-object-a.ll b/test/ExecutionEngine/MCJIT/load-object-a.ll index 9d27e41..080bf6c 100644 --- a/test/ExecutionEngine/MCJIT/load-object-a.ll +++ b/test/ExecutionEngine/MCJIT/load-object-a.ll @@ -1,20 +1,20 @@ ; This first line will generate the .o files for the next run line ; RUN: rm -rf %t.cachedir %t.cachedir2 %t.cachedir3 ; RUN: mkdir -p %t.cachedir %t.cachedir2 %t.cachedir3 -; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager -object-cache-dir=%t.cachedir %s +; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager -object-cache-dir=%t.cachedir %s ; Collect generated objects. ; RUN: find %t.cachedir -type f -name 'multi-module-?.o' -exec mv -v '{}' %t.cachedir2 ';' ; This line tests MCJIT object loading -; RUN: %lli_mcjit -extra-object=%t.cachedir2/multi-module-b.o -extra-object=%t.cachedir2/multi-module-c.o %s +; RUN: %lli -extra-object=%t.cachedir2/multi-module-b.o -extra-object=%t.cachedir2/multi-module-c.o %s ; These lines put the object files into an archive ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-b.o ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-c.o ; This line test MCJIT archive loading -; RUN: %lli_mcjit -extra-archive=%t.cachedir3/load-object.a %s +; RUN: %lli -extra-archive=%t.cachedir3/load-object.a %s declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/multi-module-a.ll b/test/ExecutionEngine/MCJIT/multi-module-a.ll index 8848ca6..dc3154c 100644 --- a/test/ExecutionEngine/MCJIT/multi-module-a.ll +++ b/test/ExecutionEngine/MCJIT/multi-module-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null +; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/multi-module-eh-a.ll b/test/ExecutionEngine/MCJIT/multi-module-eh-a.ll index 66fafc9..10cfdcd 100644 --- a/test/ExecutionEngine/MCJIT/multi-module-eh-a.ll +++ b/test/ExecutionEngine/MCJIT/multi-module-eh-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-eh-b.ll %s +; RUN: %lli -extra-module=%p/Inputs/multi-module-eh-b.ll %s ; XFAIL: arm, cygwin, win32, mingw declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) diff --git a/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll b/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll index f2fa59f..01faecc 100644 --- a/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll +++ b/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll @@ -1,5 +1,5 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips, i686, i386, arm +; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null +; XFAIL: mips, i686, i386 declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/non-extern-addend-smallcodemodel.ll b/test/ExecutionEngine/MCJIT/non-extern-addend-smallcodemodel.ll index 21db67d..03de30a 100644 --- a/test/ExecutionEngine/MCJIT/non-extern-addend-smallcodemodel.ll +++ b/test/ExecutionEngine/MCJIT/non-extern-addend-smallcodemodel.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -code-model=small %s > /dev/null +; RUN: %lli -code-model=small %s > /dev/null ; XFAIL: mips ; ; FIXME: Merge this file with non-extern-addend.ll once AArch64 supports PC-rel diff --git a/test/ExecutionEngine/MCJIT/non-extern-addend.ll b/test/ExecutionEngine/MCJIT/non-extern-addend.ll index e0827f6..72e67ae 100644 --- a/test/ExecutionEngine/MCJIT/non-extern-addend.ll +++ b/test/ExecutionEngine/MCJIT/non-extern-addend.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @foo(i32 %x, i32 %y, double %d) { entry: diff --git a/test/ExecutionEngine/MCJIT/pr13727.ll b/test/ExecutionEngine/MCJIT/pr13727.ll index 1c719c5..6f5ae39 100644 --- a/test/ExecutionEngine/MCJIT/pr13727.ll +++ b/test/ExecutionEngine/MCJIT/pr13727.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -O0 -disable-lazy-compilation=false %s +; RUN: %lli -O0 -disable-lazy-compilation=false %s ; The intention of this test is to verify that symbols mapped to COMMON in ELF ; work as expected. diff --git a/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll b/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll index b540bfa..c315723 100644 --- a/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll +++ b/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null +; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll b/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll index 589ba2f..d47fc6c 100644 --- a/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll +++ b/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic -code-model=small %s > /dev/null +; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic -code-model=small %s > /dev/null ; XFAIL: mips, i686, i386, arm declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll b/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll index fbbb8bd..0fd363b 100644 --- a/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll +++ b/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null +; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll b/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll index 9c23169..d248c4b 100644 --- a/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll +++ b/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic -code-model=small %s > /dev/null +; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic -code-model=small %s > /dev/null ; XFAIL: mips, i686, i386, arm declare i32 @FB() diff --git a/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll b/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll index 6c8ab3d..30b4dd8 100644 --- a/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null +; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null define i32 @bar() nounwind { ret i32 0 diff --git a/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll b/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll index 48b939b..da4ddc6 100644 --- a/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s +; RUN: %lli -remote-mcjit -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s ; XFAIL: * ; This test should fail until remote symbol resolution is supported. diff --git a/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll b/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll index 88faf21..f6a1607 100644 --- a/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s +; RUN: %lli -remote-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s ; XFAIL: * ; This function should fail until remote symbol resolution is supported. diff --git a/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll b/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll index e07178e..0f58710 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -O0 -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s +; RUN: %lli -remote-mcjit -O0 -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s ; The intention of this test is to verify that symbols mapped to COMMON in ELF ; work as expected. diff --git a/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll b/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll index 129350b..435c21a 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s +; RUN: %lli -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s ; Check that a variable is always aligned as specified. diff --git a/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll b/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll index 8eec0f2..9d11415 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null +; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null define double @test(double* %DP, double %Arg) nounwind { %D = load double* %DP ; <double> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll b/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll index 9fbaeb7..40b514f 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null +; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null @count = global i32 1, align 4 diff --git a/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll b/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll index 29ab24b..5119b72 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null +; RUN: %lli -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null ; XFAIL: mips, aarch64, arm, i686, i386 @count = global i32 1, align 4 diff --git a/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll b/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll index d62631f..ba3ffff 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s +; RUN: %lli -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8]* @.str, i32 0, i32 0), align 4 diff --git a/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll b/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll index bad026f..bbc71af 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -remote-mcjit -O0 -relocation-model=pic -code-model=small %s +; RUN: %lli -remote-mcjit -O0 -relocation-model=pic -code-model=small %s ; XFAIL: mips, aarch64, arm, i686, i386 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 diff --git a/test/ExecutionEngine/MCJIT/simplesttest.ll b/test/ExecutionEngine/MCJIT/simplesttest.ll index 318baf4..85c1715 100644 --- a/test/ExecutionEngine/MCJIT/simplesttest.ll +++ b/test/ExecutionEngine/MCJIT/simplesttest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { ret i32 0 diff --git a/test/ExecutionEngine/MCJIT/simpletest.ll b/test/ExecutionEngine/MCJIT/simpletest.ll index 5b0f2dd..167a0fd 100644 --- a/test/ExecutionEngine/MCJIT/simpletest.ll +++ b/test/ExecutionEngine/MCJIT/simpletest.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @bar() { ret i32 0 diff --git a/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll b/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll index 9e214f5..9b83ed2 100644 --- a/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s +; RUN: %lli -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s ; XFAIL: mips, i686, i386, aarch64, arm define i32 @main() nounwind { diff --git a/test/ExecutionEngine/MCJIT/stubs.ll b/test/ExecutionEngine/MCJIT/stubs.ll index f4aac33..b7d922f 100644 --- a/test/ExecutionEngine/MCJIT/stubs.ll +++ b/test/ExecutionEngine/MCJIT/stubs.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -disable-lazy-compilation=false %s +; RUN: %lli -disable-lazy-compilation=false %s define i32 @main() nounwind { entry: diff --git a/test/ExecutionEngine/MCJIT/test-arith.ll b/test/ExecutionEngine/MCJIT/test-arith.ll index e1cc23b..79f989f 100644 --- a/test/ExecutionEngine/MCJIT/test-arith.ll +++ b/test/ExecutionEngine/MCJIT/test-arith.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { %A = add i8 0, 12 ; <i8> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/test-branch.ll b/test/ExecutionEngine/MCJIT/test-branch.ll index cdf1035..3ae55d0 100644 --- a/test/ExecutionEngine/MCJIT/test-branch.ll +++ b/test/ExecutionEngine/MCJIT/test-branch.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; test unconditional branch define i32 @main() { diff --git a/test/ExecutionEngine/MCJIT/test-call-no-external-funcs.ll b/test/ExecutionEngine/MCJIT/test-call-no-external-funcs.ll index 8a36cf2..c3cb931 100644 --- a/test/ExecutionEngine/MCJIT/test-call-no-external-funcs.ll +++ b/test/ExecutionEngine/MCJIT/test-call-no-external-funcs.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @_Z14func_exit_codev() nounwind uwtable { entry: diff --git a/test/ExecutionEngine/MCJIT/test-call.ll b/test/ExecutionEngine/MCJIT/test-call.ll index 1a0f008..313a6c5 100644 --- a/test/ExecutionEngine/MCJIT/test-call.ll +++ b/test/ExecutionEngine/MCJIT/test-call.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null declare void @exit(i32) diff --git a/test/ExecutionEngine/MCJIT/test-cast.ll b/test/ExecutionEngine/MCJIT/test-cast.ll index 335ec50..667fa80 100644 --- a/test/ExecutionEngine/MCJIT/test-cast.ll +++ b/test/ExecutionEngine/MCJIT/test-cast.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @foo() { ret i32 0 diff --git a/test/ExecutionEngine/MCJIT/test-common-symbols-alignment.ll b/test/ExecutionEngine/MCJIT/test-common-symbols-alignment.ll index 989a473..a425b5c 100644 --- a/test/ExecutionEngine/MCJIT/test-common-symbols-alignment.ll +++ b/test/ExecutionEngine/MCJIT/test-common-symbols-alignment.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -O0 %s +; RUN: %lli -O0 %s ; This test checks that common symbols have been allocated addresses honouring ; the alignment requirement. diff --git a/test/ExecutionEngine/MCJIT/test-common-symbols.ll b/test/ExecutionEngine/MCJIT/test-common-symbols.ll index 13ee06a..19e2ce5 100644 --- a/test/ExecutionEngine/MCJIT/test-common-symbols.ll +++ b/test/ExecutionEngine/MCJIT/test-common-symbols.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -O0 -disable-lazy-compilation=false %s +; RUN: %lli -O0 -disable-lazy-compilation=false %s ; The intention of this test is to verify that symbols mapped to COMMON in ELF ; work as expected. diff --git a/test/ExecutionEngine/MCJIT/test-constantexpr.ll b/test/ExecutionEngine/MCJIT/test-constantexpr.ll index 8f15cbd..d01479a 100644 --- a/test/ExecutionEngine/MCJIT/test-constantexpr.ll +++ b/test/ExecutionEngine/MCJIT/test-constantexpr.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; This tests to make sure that we can evaluate weird constant expressions diff --git a/test/ExecutionEngine/MCJIT/test-data-align.ll b/test/ExecutionEngine/MCJIT/test-data-align.ll index 2472d95..f21ea2e 100644 --- a/test/ExecutionEngine/MCJIT/test-data-align.ll +++ b/test/ExecutionEngine/MCJIT/test-data-align.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -O0 %s +; RUN: %lli -O0 %s ; Check that a variable is always aligned as specified. diff --git a/test/ExecutionEngine/MCJIT/test-fp-no-external-funcs.ll b/test/ExecutionEngine/MCJIT/test-fp-no-external-funcs.ll index f094f3d..adb0550 100644 --- a/test/ExecutionEngine/MCJIT/test-fp-no-external-funcs.ll +++ b/test/ExecutionEngine/MCJIT/test-fp-no-external-funcs.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define double @test(double* %DP, double %Arg) { %D = load double* %DP ; <double> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/test-fp.ll b/test/ExecutionEngine/MCJIT/test-fp.ll index b10e9d6..2bf0210 100644 --- a/test/ExecutionEngine/MCJIT/test-fp.ll +++ b/test/ExecutionEngine/MCJIT/test-fp.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define double @test(double* %DP, double %Arg) { %D = load double* %DP ; <double> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/test-global-ctors.ll b/test/ExecutionEngine/MCJIT/test-global-ctors.ll index 947d8f5..ec87d15 100644 --- a/test/ExecutionEngine/MCJIT/test-global-ctors.ll +++ b/test/ExecutionEngine/MCJIT/test-global-ctors.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; XFAIL: darwin @var = global i32 1, align 4 @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @ctor_func }] diff --git a/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll b/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll index eb031f2..26bd838 100644 --- a/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -relocation-model=pic -code-model=small %s > /dev/null +; RUN: %lli -relocation-model=pic -code-model=small %s > /dev/null ; XFAIL: mips, aarch64, arm, i686, i386 @count = global i32 1, align 4 diff --git a/test/ExecutionEngine/MCJIT/test-global-init-nonzero.ll b/test/ExecutionEngine/MCJIT/test-global-init-nonzero.ll index b9f74b8..3877e9a 100644 --- a/test/ExecutionEngine/MCJIT/test-global-init-nonzero.ll +++ b/test/ExecutionEngine/MCJIT/test-global-init-nonzero.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null @count = global i32 1, align 4 diff --git a/test/ExecutionEngine/MCJIT/test-global.ll b/test/ExecutionEngine/MCJIT/test-global.ll index 6a8c042..69e5455 100644 --- a/test/ExecutionEngine/MCJIT/test-global.ll +++ b/test/ExecutionEngine/MCJIT/test-global.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null @count = global i32 0, align 4 diff --git a/test/ExecutionEngine/MCJIT/test-loadstore.ll b/test/ExecutionEngine/MCJIT/test-loadstore.ll index 9038194..1797599 100644 --- a/test/ExecutionEngine/MCJIT/test-loadstore.ll +++ b/test/ExecutionEngine/MCJIT/test-loadstore.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) { %V = load i8* %P ; <i8> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/test-local.ll b/test/ExecutionEngine/MCJIT/test-local.ll index d7c1734..ec5ba16 100644 --- a/test/ExecutionEngine/MCJIT/test-local.ll +++ b/test/ExecutionEngine/MCJIT/test-local.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() nounwind uwtable { entry: diff --git a/test/ExecutionEngine/MCJIT/test-logical.ll b/test/ExecutionEngine/MCJIT/test-logical.ll index a03833e..05b381b 100644 --- a/test/ExecutionEngine/MCJIT/test-logical.ll +++ b/test/ExecutionEngine/MCJIT/test-logical.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { %A = and i8 4, 8 ; <i8> [#uses=2] diff --git a/test/ExecutionEngine/MCJIT/test-loop.ll b/test/ExecutionEngine/MCJIT/test-loop.ll index 5ed8c40..e951a14 100644 --- a/test/ExecutionEngine/MCJIT/test-loop.ll +++ b/test/ExecutionEngine/MCJIT/test-loop.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { ; <label>:0 diff --git a/test/ExecutionEngine/MCJIT/test-phi.ll b/test/ExecutionEngine/MCJIT/test-phi.ll index 4245cca..c5bdfd5 100644 --- a/test/ExecutionEngine/MCJIT/test-phi.ll +++ b/test/ExecutionEngine/MCJIT/test-phi.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; test phi node @Y = global i32 6 ; <i32*> [#uses=1] diff --git a/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll b/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll index 9e06742..21bcaef 100644 --- a/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +++ b/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -O0 -relocation-model=pic -code-model=small %s +; RUN: %lli -O0 -relocation-model=pic -code-model=small %s ; XFAIL: mips, aarch64, arm, i686, i386 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 diff --git a/test/ExecutionEngine/MCJIT/test-ptr-reloc.ll b/test/ExecutionEngine/MCJIT/test-ptr-reloc.ll index 871d8bf..f139ddf 100644 --- a/test/ExecutionEngine/MCJIT/test-ptr-reloc.ll +++ b/test/ExecutionEngine/MCJIT/test-ptr-reloc.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit -O0 %s +; RUN: %lli -O0 %s @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8]* @.str, i32 0, i32 0), align 4 diff --git a/test/ExecutionEngine/MCJIT/test-ret.ll b/test/ExecutionEngine/MCJIT/test-ret.ll index 6bfc480..025f53e 100644 --- a/test/ExecutionEngine/MCJIT/test-ret.ll +++ b/test/ExecutionEngine/MCJIT/test-ret.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null ; test return instructions define void @test1() { diff --git a/test/ExecutionEngine/MCJIT/test-return.ll b/test/ExecutionEngine/MCJIT/test-return.ll index 4db1c3f..d464a4b 100644 --- a/test/ExecutionEngine/MCJIT/test-return.ll +++ b/test/ExecutionEngine/MCJIT/test-return.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() nounwind uwtable { entry: diff --git a/test/ExecutionEngine/MCJIT/test-setcond-fp.ll b/test/ExecutionEngine/MCJIT/test-setcond-fp.ll index b4367d0..68276e6 100644 --- a/test/ExecutionEngine/MCJIT/test-setcond-fp.ll +++ b/test/ExecutionEngine/MCJIT/test-setcond-fp.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { diff --git a/test/ExecutionEngine/MCJIT/test-setcond-int.ll b/test/ExecutionEngine/MCJIT/test-setcond-int.ll index 8c7d815..48dc021 100644 --- a/test/ExecutionEngine/MCJIT/test-setcond-int.ll +++ b/test/ExecutionEngine/MCJIT/test-setcond-int.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { %int1 = add i32 0, 0 ; <i32> [#uses=6] diff --git a/test/ExecutionEngine/MCJIT/test-shift.ll b/test/ExecutionEngine/MCJIT/test-shift.ll index 8d9a94e..590e262 100644 --- a/test/ExecutionEngine/MCJIT/test-shift.ll +++ b/test/ExecutionEngine/MCJIT/test-shift.ll @@ -1,4 +1,4 @@ -; RUN: %lli_mcjit %s > /dev/null +; RUN: %lli %s > /dev/null define i32 @main() { %shamt = add i8 0, 1 ; <i8> [#uses=8] diff --git a/test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s b/test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s new file mode 100644 index 0000000..04d269e --- /dev/null +++ b/test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s @@ -0,0 +1,67 @@ +# RUN: llvm-mc -triple=arm64-apple-ios7.0.0 -code-model=small -relocation-model=pic -filetype=obj -o %T/foo.o %s +# RUN: llvm-rtdyld -triple=arm64-apple-ios7.0.0 -map-section foo.o,__text=0x10bc0 -verify -check=%s %/T/foo.o + + .section __TEXT,__text,regular,pure_instructions + .ios_version_min 7, 0 + .globl _foo + .align 2 +_foo: + movz w0, #0 + ret + + .globl _test_branch_reloc + .align 2 + + +# Test ARM64_RELOC_BRANCH26 relocation. The branch instruction only encodes 26 +# bits of the 28-bit possible branch range. The lower two bits are always zero +# and therefore ignored. +# rtdyld-check: decode_operand(br1, 0)[25:0] = (_foo - br1)[27:2] +_test_branch_reloc: +br1: + b _foo + ret + + +# Test ARM64_RELOC_PAGE21 and ARM64_RELOC_PAGEOFF12 relocation. adrp encodes +# the PC-relative page (4 KiB) difference between the adrp instruction and the +# variable ptr. ldr encodes the offset of the variable within the page. The ldr +# instruction perfroms an implicit shift on the encoded immediate (imm<<3). +# rtdyld-check: decode_operand(adrp1, 1) = (_ptr[32:12] - adrp1[32:12]) +# rtdyld-check: decode_operand(ldr1, 2) = _ptr[11:3] + .globl _test_adrp_ldr + .align 2 +_test_adrp_ldr: +adrp1: + adrp x0, _ptr@PAGE +ldr1: + ldr x0, [x0, _ptr@PAGEOFF] + ret + +# Test ARM64_RELOC_GOT_LOAD_PAGE21 and ARM64_RELOC_GOT_LOAD_PAGEOFF12 +# relocation. adrp encodes the PC-relative page (4 KiB) difference between the +# adrp instruction and the GOT entry for ptr. ldr encodes the offset of the GOT +# entry within the page. The ldr instruction perfroms an implicit shift on the +# encoded immediate (imm<<3). +# rtdyld-check: *{8}(stub_addr(foo.o, __text, _ptr)) = _ptr +# rtdyld-check: decode_operand(adrp2, 1) = (stub_addr(foo.o, __text, _ptr)[32:12] - adrp2[32:12]) +# rtdyld-check: decode_operand(ldr2, 2) = stub_addr(foo.o, __text, _ptr)[11:3] + .globl _test_adrp_ldr + .align 2 +_test_got_adrp_ldr: +adrp2: + adrp x0, _ptr@GOTPAGE +ldr2: + ldr x0, [x0, _ptr@GOTPAGEOFF] + ret + + +# Test ARM64_RELOC_UNSIGNED relocation. The absolute 64-bit address of the +# function should be stored at the 8-byte memory location. +# rtdyld-check: *{8}_ptr = _foo + .section __DATA,__data + .globl _ptr + .align 3 + .fill 4096, 1, 0 +_ptr: + .quad _foo diff --git a/test/ExecutionEngine/RuntimeDyld/AArch64/lit.local.cfg b/test/ExecutionEngine/RuntimeDyld/AArch64/lit.local.cfg new file mode 100644 index 0000000..cec29af --- /dev/null +++ b/test/ExecutionEngine/RuntimeDyld/AArch64/lit.local.cfg @@ -0,0 +1,3 @@ +if not 'AArch64' in config.root.targets: + config.unsupported = True + diff --git a/test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s b/test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s new file mode 100644 index 0000000..7ff3a89 --- /dev/null +++ b/test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s @@ -0,0 +1,51 @@ +# RUN: llvm-mc -triple=armv7s-apple-ios7.0.0 -relocation-model=pic -filetype=obj -o %T/foo.o %s +# RUN: llvm-rtdyld -triple=armv7s-apple-ios7.0.0 -verify -check=%s %/T/foo.o + + .syntax unified + .section __TEXT,__text,regular,pure_instructions + .globl bar + .align 2 +bar: +# Check lower 16-bits of section difference relocation +# rtdyld-check: decode_operand(insn1, 1) = (foo$non_lazy_ptr-(nextPC+8))[15:0] +insn1: + movw r0, :lower16:(foo$non_lazy_ptr-(nextPC+8)) +# Check upper 16-bits of section difference relocation +# rtdyld-check: decode_operand(insn2, 2) = (foo$non_lazy_ptr-(nextPC+8))[31:16] +insn2: + movt r0, :upper16:(foo$non_lazy_ptr-(nextPC+8)) +nextPC: + add r1, r0, r0 + +# Check stub generation for external symbols by referencing a common symbol, 'baz'. +# Check both the content of the stub, and the reference to the stub. +# Stub should contain '0xe51ff004' (ldr pc, [pc, #-4]), followed by the target. +# +# rtdyld-check: *{4}(stub_addr(foo.o, __text, baz)) = 0xe51ff004 +# rtdyld-check: *{4}(stub_addr(foo.o, __text, baz) + 4) = baz +# +# rtdyld-check: decode_operand(insn3, 0) = stub_addr(foo.o, __text, baz) - (insn3 + 8) +insn3: + bl baz + +# Check stub generation for internal symbols by referencing 'bar'. +# rtdyld-check: *{4}(stub_addr(foo.o, __text, bar) + 4) = bar +insn4: + bl bar + bx lr + +# Add 'aaa' to the common symbols to make sure 'baz' isn't at the start of the +# section. This ensures that we test VANILLA relocation addends correctly. + .comm aaa, 4, 2 + .comm baz, 4, 2 + .comm foo, 4, 2 + +# Check that the symbol pointer section entries are fixed up properly: +# rtdyld-check: *{4}foo$non_lazy_ptr = foo + .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers + .align 2 +foo$non_lazy_ptr: + .indirect_symbol foo + .long 0 + +.subsections_via_symbols diff --git a/test/ExecutionEngine/RuntimeDyld/ARM/lit.local.cfg b/test/ExecutionEngine/RuntimeDyld/ARM/lit.local.cfg new file mode 100644 index 0000000..98c6700 --- /dev/null +++ b/test/ExecutionEngine/RuntimeDyld/ARM/lit.local.cfg @@ -0,0 +1,3 @@ +if not 'ARM' in config.root.targets: + config.unsupported = True + diff --git a/test/ExecutionEngine/RuntimeDyld/Inputs/arm_secdiff_reloc.o b/test/ExecutionEngine/RuntimeDyld/Inputs/arm_secdiff_reloc.o Binary files differdeleted file mode 100644 index 5392266..0000000 --- a/test/ExecutionEngine/RuntimeDyld/Inputs/arm_secdiff_reloc.o +++ /dev/null diff --git a/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s b/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s new file mode 100644 index 0000000..f427b98 --- /dev/null +++ b/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s @@ -0,0 +1,45 @@ +# RUN: llvm-mc -triple=i386-apple-macosx10.4 -relocation-model=dynamic-no-pic -filetype=obj -o %T/test_i386.o %s +# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -check=%s %/T/test_i386.o + + .section __TEXT,__text,regular,pure_instructions + .globl bar + .align 4, 0x90 +bar: + calll tmp0$pb +tmp0$pb: + popl %eax +# Test section difference relocation to non-lazy ptr section. +# rtdyld-check: decode_operand(inst1, 4) = x$non_lazy_ptr - tmp0$pb +inst1: + movl x$non_lazy_ptr-tmp0$pb(%eax), %eax + movl (%eax), %ebx + +# Test VANILLA relocation to jump table. +# rtdyld-check: decode_operand(inst2, 0) = bling$stub - next_pc(inst2) +inst2: + calll bling$stub + addl %ebx, %eax + +# Test scattered VANILLA relocations. +inst3: + movl y+4, %ecx + addl %ecx, %eax + retl + + .section __IMPORT,__jump_table,symbol_stubs,pure_instructions+self_modifying_code,5 +bling$stub: + .indirect_symbol bling + .ascii "\364\364\364\364\364" + + .section __IMPORT,__pointers,non_lazy_symbol_pointers +x$non_lazy_ptr: + .indirect_symbol x + .long 0 + + .comm x,4,2 + .comm bling,4,2 + + .globl y +.zerofill __DATA,__common,y,8,3 + +.subsections_via_symbols diff --git a/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s b/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s new file mode 100644 index 0000000..8814ec3 --- /dev/null +++ b/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s @@ -0,0 +1,30 @@ +# RUN: llvm-mc -triple=i386-apple-macosx10.4 -relocation-model=dynamic-no-pic -filetype=obj -o %T/MachO_i386_eh_frame.o %s +# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -map-section MachO_i386_eh_frame.o,__text=0x2000 -check=%s %/T/MachO_i386_eh_frame.o + +# rtdyld-check: *{4}(section_addr(MachO_i386_eh_frame.o, __eh_frame) + 0x20) = (main - (section_addr(MachO_i386_eh_frame.o, __eh_frame) + 0x20))[31:0] +# rtdyld-check: *{4}(section_addr(MachO_i386_eh_frame.o, __eh_frame) + 0x24) = 0x9 + + .section __TEXT,__text,regular,pure_instructions + + .globl bar + .align 4, 0x90 +bar: + retl + + .globl main + .align 4, 0x90 +main: + .cfi_startproc + pushl %ebp +Ltmp0: + .cfi_def_cfa_offset 8 +Ltmp1: + .cfi_offset %ebp, -8 + movl %esp, %ebp +Ltmp2: + .cfi_def_cfa_register %ebp + popl %ebp + jmp bar + .cfi_endproc + +.subsections_via_symbols diff --git a/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s b/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s index e87b449..502f276 100644 --- a/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s +++ b/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s @@ -1,6 +1,5 @@ -# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -relocation-model=pic -filetype=obj -o %t.o %s -# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -verify -check=%s %t.o -# RUN: rm %t.o +# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -relocation-model=pic -filetype=obj -o %T/test_x86-64.o %s +# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -verify -check=%s %/T/test_x86-64.o .section __TEXT,__text,regular,pure_instructions .globl foo @@ -20,9 +19,20 @@ insn1: # rtdyld-check: decode_operand(insn2, 4) = x - next_pc(insn2) insn2: movl x(%rip), %eax - movl $0, %eax + +# Test PC-rel GOT relocation. +# Verify both the contents of the GOT entry for y, and that the movq instruction +# references the correct GOT entry address: +# rtdyld-check: *{8}(stub_addr(test_x86-64.o, __text, y)) = y +# rtdyld-check: decode_operand(insn3, 4) = stub_addr(test_x86-64.o, __text, y) - next_pc(insn3) +insn3: + movq y@GOTPCREL(%rip), %rax + + movl $0, %eax retq + .comm y,4,2 + .section __DATA,__data .globl x .align 2 diff --git a/test/ExecutionEngine/RuntimeDyld/macho_relocations.test b/test/ExecutionEngine/RuntimeDyld/macho_relocations.test deleted file mode 100644 index 92e4dd7..0000000 --- a/test/ExecutionEngine/RuntimeDyld/macho_relocations.test +++ /dev/null @@ -1 +0,0 @@ -RUN: llvm-rtdyld -printline %p/Inputs/arm_secdiff_reloc.o diff --git a/test/ExecutionEngine/frem.ll b/test/ExecutionEngine/frem.ll new file mode 100644 index 0000000..7e0b606 --- /dev/null +++ b/test/ExecutionEngine/frem.ll @@ -0,0 +1,20 @@ +; LLI.exe used to crash on Windows\X86 when certain single precession +; floating point intrinsics (defined as macros) are used. +; This unit test guards against the failure. +; +; RUN: %lli %s | FileCheck %s + +@flt = internal global float 12.0e+0 +@str = internal constant [18 x i8] c"Double value: %f\0A\00" + +declare i32 @printf(i8* nocapture, ...) nounwind + +define i32 @main() { + %flt = load float* @flt + %float2 = frem float %flt, 5.0 + %double1 = fpext float %float2 to double + call i32 (i8*, ...)* @printf(i8* getelementptr ([18 x i8]* @str, i32 0, i64 0), double %double1) + ret i32 0 +} + +; CHECK: Double value: 2.0 diff --git a/test/ExecutionEngine/hello.ll b/test/ExecutionEngine/hello.ll index f2c4a7f..47e36a5 100644 --- a/test/ExecutionEngine/hello.ll +++ b/test/ExecutionEngine/hello.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm @.LC0 = internal global [12 x i8] c"Hello World\00" ; <[12 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/hello2.ll b/test/ExecutionEngine/hello2.ll index 155ed41..13b2588 100644 --- a/test/ExecutionEngine/hello2.ll +++ b/test/ExecutionEngine/hello2.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm @X = global i32 7 ; <i32*> [#uses=0] @msg = internal global [13 x i8] c"Hello World\0A\00" ; <[13 x i8]*> [#uses=1] diff --git a/test/ExecutionEngine/mov64zext32.ll b/test/ExecutionEngine/mov64zext32.ll index f38c21a..a5b2461 100644 --- a/test/ExecutionEngine/mov64zext32.ll +++ b/test/ExecutionEngine/mov64zext32.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i64 @foo() { ret i64 42 diff --git a/test/ExecutionEngine/simpletest.ll b/test/ExecutionEngine/simpletest.ll index 83f9b84..167a0fd 100644 --- a/test/ExecutionEngine/simpletest.ll +++ b/test/ExecutionEngine/simpletest.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i32 @bar() { ret i32 0 diff --git a/test/ExecutionEngine/stubs.ll b/test/ExecutionEngine/stubs.ll index b40e4be..b7d922f 100644 --- a/test/ExecutionEngine/stubs.ll +++ b/test/ExecutionEngine/stubs.ll @@ -1,5 +1,4 @@ ; RUN: %lli -disable-lazy-compilation=false %s -; XFAIL: arm define i32 @main() nounwind { entry: diff --git a/test/ExecutionEngine/test-call-no-external-funcs.ll b/test/ExecutionEngine/test-call-no-external-funcs.ll index b2dd532..c3cb931 100644 --- a/test/ExecutionEngine/test-call-no-external-funcs.ll +++ b/test/ExecutionEngine/test-call-no-external-funcs.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i32 @_Z14func_exit_codev() nounwind uwtable { entry: diff --git a/test/ExecutionEngine/test-call.ll b/test/ExecutionEngine/test-call.ll index 3fd39fe..313a6c5 100644 --- a/test/ExecutionEngine/test-call.ll +++ b/test/ExecutionEngine/test-call.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm declare void @exit(i32) diff --git a/test/ExecutionEngine/test-common-symbols.ll b/test/ExecutionEngine/test-common-symbols.ll index 4dd9265..19e2ce5 100644 --- a/test/ExecutionEngine/test-common-symbols.ll +++ b/test/ExecutionEngine/test-common-symbols.ll @@ -1,5 +1,4 @@ ; RUN: %lli -O0 -disable-lazy-compilation=false %s -; XFAIL: arm ; The intention of this test is to verify that symbols mapped to COMMON in ELF ; work as expected. diff --git a/test/ExecutionEngine/test-fp-no-external-funcs.ll b/test/ExecutionEngine/test-fp-no-external-funcs.ll index 139b2ef..61b12c2 100644 --- a/test/ExecutionEngine/test-fp-no-external-funcs.ll +++ b/test/ExecutionEngine/test-fp-no-external-funcs.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define double @test(double* %DP, double %Arg) { %D = load double* %DP ; <double> [#uses=1] diff --git a/test/ExecutionEngine/test-fp.ll b/test/ExecutionEngine/test-fp.ll index c906450..2bf0210 100644 --- a/test/ExecutionEngine/test-fp.ll +++ b/test/ExecutionEngine/test-fp.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define double @test(double* %DP, double %Arg) { %D = load double* %DP ; <double> [#uses=1] diff --git a/test/ExecutionEngine/test-global-init-nonzero.ll b/test/ExecutionEngine/test-global-init-nonzero.ll index ef2d37b..749a485 100644 --- a/test/ExecutionEngine/test-global-init-nonzero.ll +++ b/test/ExecutionEngine/test-global-init-nonzero.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm @count = global i32 1, align 4 diff --git a/test/ExecutionEngine/test-global.ll b/test/ExecutionEngine/test-global.ll index 2ea50de..69e5455 100644 --- a/test/ExecutionEngine/test-global.ll +++ b/test/ExecutionEngine/test-global.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm @count = global i32 0, align 4 diff --git a/test/ExecutionEngine/test-loadstore.ll b/test/ExecutionEngine/test-loadstore.ll index 7574314..1797599 100644 --- a/test/ExecutionEngine/test-loadstore.ll +++ b/test/ExecutionEngine/test-loadstore.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) { %V = load i8* %P ; <i8> [#uses=1] diff --git a/test/ExecutionEngine/test-local.ll b/test/ExecutionEngine/test-local.ll index 240b174..ec5ba16 100644 --- a/test/ExecutionEngine/test-local.ll +++ b/test/ExecutionEngine/test-local.ll @@ -1,5 +1,4 @@ ; RUN: %lli %s > /dev/null -; XFAIL: arm define i32 @main() nounwind uwtable { entry: |