Commit Graph

276 Commits

Author SHA1 Message Date
Renato Golin
3fca788967 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
2014-01-29 11:50:56 +00:00
Renato Golin
a97f49c147 Re-enabling MCJIT tests on ARM
After several refactorings on the MCJIT remote communication, things are
finally looking good on Clang-compiled LLVM regarding MCJIT remote tests,
so I'm re-enabling them to see how the self-hosting buildbot behaves over
a longer period.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200102 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-25 23:38:08 +00:00
Alp Toker
1214e71d77 Eliminate inappropriate use of FindProgramByName() from lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199835 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-22 21:52:35 +00:00
Renato Golin
f433beee88 Revert 199262 - MCJIT remote still failing on ARM
Disabling remote MCJIT tests on ARM again, as they're still failing when
self-hosting on ARM, despite all my tests. At least now we have more info
on what message it's breaking and what is going on. Investigating.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199310 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-15 09:09:46 +00:00
Renato Golin
fdd4da1f8b Re-disable MCJIT remote tests on ARM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199309 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-15 09:09:39 +00:00
Renato Golin
b59bdadd34 Re-enable remote MCJIT tests on ARMv7
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199262 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-14 22:43:49 +00:00
NAKAMURA Takumi
5868b12dfb llvm/test/ExecutionEngine/MCJIT/load-object-a.ll: Put together rm(1) and mkdir(1) at the top.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199077 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-13 05:55:10 +00:00
NAKAMURA Takumi
53b22f17c4 llvm/test/ExecutionEngine/MCJIT/load-object-a.ll: Remove "REQUIRES:shell". This doesn't depend on shell's behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198931 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-10 10:38:52 +00:00
NAKAMURA Takumi
4b13e3ca2c llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: Add "AMD64" in the host_arch list.
FIXME: We should not take CMake's ${CMAKE_SYSTEM_PROCESSOR}...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198930 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-10 10:38:46 +00:00
NAKAMURA Takumi
929ae46f5d llvm/test/ExecutionEngine/MCJIT/load-object-a.ll: Fix not to use %t.cachedir/%p.
%p is like X:\foo\bar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198926 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-10 10:38:23 +00:00
Lang Hames
4442b6ec3a Add an "-object-cache-dir=<string>" option to LLI. This option specifies the
root path to which object files managed by the LLIObjectCache instance should be
written. This option defaults to "", in which case objects are cached in the
same directory as the bitcode they are derived from.

The load-object-a.ll test has been rewritten to use this option to support
testing in environments where the test directory is not writable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198852 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-09 05:24:05 +00:00
Lang Hames
268ab86f6c Add missing test case for r198737.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198772 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-08 16:31:16 +00:00
NAKAMURA Takumi
2665f321ad Remove empty MCJIT/load-object-a.ll since r196641.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196645 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-07 06:17:10 +00:00
Lang Hames
a49701db7d Revert r196639 while I investigate a bot failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196641 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-07 04:25:19 +00:00
Lang Hames
e7777cdc64 Add support for archives and object file caching under MCJIT.
Patch by Andy Kaylor, with minor edits to resolve merge conflicts.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196639 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-07 03:05:51 +00:00
Renato Golin
5a10a7cccf Fix lit config for disabled MCJIT tests on ARM
Separating permanent from temporary targets, added the bug that
will fix the temporary (PR18057).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196274 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 13:48:28 +00:00
Renato Golin
07fc4841b1 Disable Remote MCJIT tests on ARM
The communication protocol is unstable on ARM when compiled
with Clang, which is disrupting the self-hosting buildbots that
are going to be added this week. I'm working on a solution, but
remote MCJIT is not high-priority for ARM at the moment, so it
might take a while.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196257 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 08:39:15 +00:00
Petar Jovanovic
2fb0234d5f [mips] Resolve relocation for the stubs in MCJIT when load address is known
Instead of processing relocation for branch to stubs right away, emit a
modified relocation and add it to queue to be resolved later when final load
address is known.
This resolves seven MIPS MCJIT issues that were caused by missing relocation
fixups at the end.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195157 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-19 21:56:00 +00:00
NAKAMURA Takumi
d3df4603d9 Add XFAIL:arm again on 4 MCJIT tests, since r194558. AArch64 has been left removed.
They are failing on clang-native-arm-cortex-a9.

Please tweak MCJIT/lit.local.cfg, if this didn't satisfy bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194561 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-13 07:43:10 +00:00
NAKAMURA Takumi
0700a80da1 Remove XFAIL:aarch64,arm from 4 tests in test/ExecutionEngine/MCJIT.
They are reported as XPASSing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194558 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-13 06:28:00 +00:00
Petar Jovanovic
4999ae9cfa [mips] XFAIL several MCJIT remote tests
Two of the tests are new test cases (cross-module-a.ll, multi-module-a.ll)
not yet supported on MIPS, while XFAIL for the other two tests was
accidentally removed in r193570 and this change reverts those lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193781 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-31 18:10:25 +00:00
Andrew Kaylor
47b7fd5448 Adding a workaround for __main linking with remote lli and Cygwin/MinGW
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193570 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-29 01:29:56 +00:00
Andrew Kaylor
61e22ea592 Renaming MCJIT .ir files to .ll and moving them to Inputs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193562 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-28 23:51:03 +00:00
Andrew Kaylor
61abf1550f Standardizing lli's extra module command line option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193544 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-28 21:58:15 +00:00
NAKAMURA Takumi
f61049b2d8 MCJIT-remote: __main should be resolved in child context.
- Mark tests as XFAIL:cygming in test/ExecutionEngine/MCJIT/remote.
    Rather to suppress them, I'd like to leave them running as XFAIL.
  - Revert r193472. RecordMemoryManager no longer resolves __main on cygming.

There are a couple of issues.

  - X86 Codegen emits "call __main" in @main for targeting cygming.
    It is useless in JIT. FYI, tests are passing when emitting __main is disabled.
  - Current remote JIT does not resolve any symbols in child context.

FIXME: __main should be disabled, or remote JIT should resolve __main.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193498 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-27 10:22:52 +00:00
Nick Lewycky
365f4fa6cb Fix typo in test's XFAIL line. Patch by Dimitry Andric!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193063 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-21 00:46:21 +00:00
Andrew Kaylor
4bad07fbec Fixing problems in lli's RemoteMemoryManager.
This fixes a problem from a previous check-in where a return value was omitted.

Previously the remote/stubs-remote.ll and remote/stubs-sm-pic.ll tests were reporting passes, but they should have been failing.  Those tests attempt to link against an external symbol and remote symbol resolution is not supported.  The old RemoteMemoryManager implementation resulted in local symbols being used for resolution and the child process crashed but the test didn't notice.  With this check-in remote symbol resolution fails, and so the test (correctly) fails.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192514 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-11 22:47:10 +00:00
Andrew Kaylor
528f6d787b Adding multiple object support to MCJIT EH frame handling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192504 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-11 21:25:48 +00:00
Andrew Kaylor
b64c573649 Updating XFAILs for recent GOT tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192022 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-05 01:56:50 +00:00
Andrew Kaylor
95dea01cb6 Adding tests for multiple GOTs with MCJIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192021 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-05 01:53:19 +00:00
Andrew Kaylor
b868e9101c Adding support and tests for multiple module handling in lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191938 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-04 00:49:38 +00:00
Andrew Kaylor
0ab5c6c16b Adding out-of-process execution support to lli.
At this time only Unix-based systems are supported.  Windows has stubs and should re-route to the simulated mode.

Thanks to Sriram Murali for contributions to this patch.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191843 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-02 17:12:36 +00:00
Andrew Kaylor
d48bd3ca37 Fix some more MCJIT PIC test XFAILs (for i386)
Patch by Dimitry Andric

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191111 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-20 22:12:03 +00:00
Amaury de la Vieuville
2c9d79beee Add "native" to config.available_features, to make it easier to disable non-x-compile-safe tests
Patch by Artyom Skrobov!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190679 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-13 10:59:01 +00:00
Elena Demikhovsky
19aa26dbb7 LLVM interpreter: added a test for insert- extract- value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190600 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-12 10:52:03 +00:00
Elena Demikhovsky
4ca0ce2594 llvm interpreter: select, shuffle and insertelement instructions.
This patch implements vector support for  select instruction and adds specific vector instructions : shuffle and insertelement. (tests are also included)
and functions lle_X_memset, lle_X_memcpy added.

Done by Veselov, Yuri (mailto:Yuri.Veselov@intel.com)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189735 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-02 06:40:09 +00:00
Nadav Rotem
ec7b5e9290 In LLVM FMA3 operands are dst, src1, src2, src3, however dst is not encoded as it is always src1. This was causing the encoding of the operands to be off by one.
Patch by Chris Bieneman.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188866 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 05:03:10 +00:00
NAKAMURA Takumi
d5a2eb0925 X86TargetMachine.cpp: Clarify to emit GOT in i686-{cygming|win32}-elf for mcjit.
I suppose all "lli -use-mcjit i686-*" should require GOT, (and to fail.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188856 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 02:37:25 +00:00
Andrew Kaylor
11873fc85a Still more MCJIT PIC test XFAILs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188815 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 18:13:48 +00:00
Andrew Kaylor
17b06b899e Clarifying two MCJIT PIC tests as XFAIL on i686-pc-linux
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188814 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 17:01:35 +00:00
Andrew Kaylor
c90825d1ae Removing duplicate XFAIL markers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188812 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 16:42:22 +00:00
Andrew Kaylor
58a81a1c62 Marking two more MCJIT PIC tests as XFAIL on i686
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188808 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 15:47:04 +00:00
Andrew Kaylor
2d219d67d2 Marking MCJIT PIC tests as XFAIL on arm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188807 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 15:36:04 +00:00
Andrew Kaylor
fbeb4a2520 Marking MCJIT PIC tests as XFAIL on AArch64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188740 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 01:50:50 +00:00
Andrew Kaylor
ec28c7d8ec Fixing XPASSes among MCJIT PIC test on i686
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188736 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 00:37:33 +00:00
Andrew Kaylor
43bdcdcad5 Second attempt to mark Large/PIC MCJIT test as XFAIL for PowerPC64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188735 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 00:22:03 +00:00
Andrew Kaylor
93c25ccdff Marking two MCJIT PIC tests as XFAIL on Darwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188734 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 00:14:50 +00:00
Andrew Kaylor
d464018e7a Trying again with PIC tests for MCJIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188730 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-19 23:52:53 +00:00
Andrew Kaylor
aa22a4b002 Reverting r188709 until I can figure out the proper way to XFAIL it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188715 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-19 22:05:07 +00:00
Andrew Kaylor
8227d0f185 Adding tests for PIC with MCJIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188709 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-19 21:08:35 +00:00