diff options
author | Renato Golin <renato.golin@linaro.org> | 2014-01-29 11:50:56 +0000 |
---|---|---|
committer | Renato Golin <renato.golin@linaro.org> | 2014-01-29 11:50:56 +0000 |
commit | 3fca788967bb3fd37675bfb177d38ff8e8e2c920 (patch) | |
tree | c785080f963fc374c97b5f65719c4d0cc3899487 /test/ExecutionEngine/MCJIT | |
parent | b04ddad8eacf727a79524b53d350e9c1dd758084 (diff) | |
download | llvm-3fca788967bb3fd37675bfb177d38ff8e8e2c920.tar.gz llvm-3fca788967bb3fd37675bfb177d38ff8e8e2c920.tar.bz2 llvm-3fca788967bb3fd37675bfb177d38ff8e8e2c920.tar.xz |
Enable EHABI by default
After all hard work to implement the EHABI and with the test-suite
passing, it's time to turn it on by default and allow users to
disable it as a work-around while we fix the eventual bugs that show
up.
This commit also remove the -arm-enable-ehabi-descriptors, since we
want the tables to be printed every time the EHABI is turned on
for non-Darwin ARM targets.
Although MCJIT EHABI is not working yet (needs linking with the right
libraries), this commit also fixes some relocations on MCJIT regarding
the EH tables/lib calls, and update some tests to avoid using EH tables
when none are needed.
The EH tests in the test-suite that were previously disabled on ARM
now pass with these changes, so a follow-up commit on the test-suite
will re-enable them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200388 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/ExecutionEngine/MCJIT')
9 files changed, 12 insertions, 13 deletions
diff --git a/test/ExecutionEngine/MCJIT/remote/Inputs/cross-module-b.ll b/test/ExecutionEngine/MCJIT/remote/Inputs/cross-module-b.ll index 6870117411..bc13b1de8e 100644 --- a/test/ExecutionEngine/MCJIT/remote/Inputs/cross-module-b.ll +++ b/test/ExecutionEngine/MCJIT/remote/Inputs/cross-module-b.ll @@ -1,6 +1,6 @@ declare i32 @FA() -define i32 @FB() { +define i32 @FB() nounwind { %r = call i32 @FA( ) ; <i32> [#uses=1] ret i32 %r } diff --git a/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-b.ll b/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-b.ll index 103b601e7f..0b8d5eb37a 100644 --- a/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-b.ll +++ b/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-b.ll @@ -1,6 +1,6 @@ declare i32 @FC() -define i32 @FB() { +define i32 @FB() nounwind { %r = call i32 @FC( ) ; <i32> [#uses=1] ret i32 %r } diff --git a/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-c.ll b/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-c.ll index b39306be9e..98350a8c10 100644 --- a/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-c.ll +++ b/test/ExecutionEngine/MCJIT/remote/Inputs/multi-module-c.ll @@ -1,4 +1,4 @@ -define i32 @FC() { +define i32 @FC() nounwind { ret i32 0 } diff --git a/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll b/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll index 8331ecf93c..b540bfa3bd 100644 --- a/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll +++ b/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll @@ -2,12 +2,11 @@ declare i32 @FB() -define i32 @FA() { +define i32 @FA() nounwind { ret i32 0 } -define i32 @main() { +define i32 @main() nounwind { %r = call i32 @FB( ) ; <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 index d04df322cb..fbbb8bdf4b 100644 --- a/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll +++ b/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll @@ -2,7 +2,7 @@ declare i32 @FB() -define i32 @main() { +define i32 @main() nounwind { %r = call i32 @FB( ) ; <i32> [#uses=1] ret i32 %r } diff --git a/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll b/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll index ddee861346..6c8ab3d536 100644 --- a/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll @@ -1,10 +1,10 @@ ; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null -define i32 @bar() { +define i32 @bar() nounwind { ret i32 0 } -define i32 @main() { +define i32 @main() nounwind { %r = call i32 @bar( ) ; <i32> [#uses=1] ret i32 %r } diff --git a/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll b/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll index 0c89598423..129350b63e 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll @@ -3,7 +3,7 @@ ; Check that a variable is always aligned as specified. @var = global i32 0, align 32 -define i32 @main() { +define i32 @main() nounwind { %addr = ptrtoint i32* @var to i64 %mask = and i64 %addr, 31 %tst = icmp eq i64 %mask, 0 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 5ad71112ae..8eec0f2298 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,6 +1,6 @@ ; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null -define double @test(double* %DP, double %Arg) { +define double @test(double* %DP, double %Arg) nounwind { %D = load double* %DP ; <double> [#uses=1] %V = fadd double %D, 1.000000e+00 ; <double> [#uses=2] %W = fsub double %V, %V ; <double> [#uses=3] @@ -12,7 +12,7 @@ define double @test(double* %DP, double %Arg) { ret double %Y } -define i32 @main() { +define i32 @main() nounwind { %X = alloca double ; <double*> [#uses=2] store double 0.000000e+00, double* %X call double @test( double* %X, double 2.000000e+00 ) ; <double>:1 [#uses=0] 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 b14d80b156..9fbaeb7944 100644 --- a/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll +++ b/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll @@ -2,7 +2,7 @@ @count = global i32 1, align 4 -define i32 @main() nounwind uwtable { +define i32 @main() nounwind { entry: %retval = alloca i32, align 4 %i = alloca i32, align 4 |