1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Commit Graph

251 Commits

Author SHA1 Message Date
Petar Jovanovic
42ac0c2775 [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.

llvm-svn: 193781
2013-10-31 18:10:25 +00:00
Andrew Kaylor
e37d9c43ed Adding a workaround for __main linking with remote lli and Cygwin/MinGW
llvm-svn: 193570
2013-10-29 01:29:56 +00:00
Andrew Kaylor
ec0598cbc5 Renaming MCJIT .ir files to .ll and moving them to Inputs
llvm-svn: 193562
2013-10-28 23:51:03 +00:00
Andrew Kaylor
0fb11a9ebb Standardizing lli's extra module command line option
llvm-svn: 193544
2013-10-28 21:58:15 +00:00
NAKAMURA Takumi
66de6c5eec 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.
llvm-svn: 193498
2013-10-27 10:22:52 +00:00
Nick Lewycky
ae49518b4b Fix typo in test's XFAIL line. Patch by Dimitry Andric!
llvm-svn: 193063
2013-10-21 00:46:21 +00:00
Andrew Kaylor
54a20b979d 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.

llvm-svn: 192514
2013-10-11 22:47:10 +00:00
Andrew Kaylor
0f28749d52 Adding multiple object support to MCJIT EH frame handling
llvm-svn: 192504
2013-10-11 21:25:48 +00:00
Andrew Kaylor
72249ec342 Updating XFAILs for recent GOT tests
llvm-svn: 192022
2013-10-05 01:56:50 +00:00
Andrew Kaylor
c62977e263 Adding tests for multiple GOTs with MCJIT
llvm-svn: 192021
2013-10-05 01:53:19 +00:00
Andrew Kaylor
4c916e5212 Adding support and tests for multiple module handling in lli
llvm-svn: 191938
2013-10-04 00:49:38 +00:00
Andrew Kaylor
948eef739c 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.

llvm-svn: 191843
2013-10-02 17:12:36 +00:00
Andrew Kaylor
6360b74df8 Fix some more MCJIT PIC test XFAILs (for i386)
Patch by Dimitry Andric

llvm-svn: 191111
2013-09-20 22:12:03 +00:00
Amaury de la Vieuville
c3c5a4a8aa Add "native" to config.available_features, to make it easier to disable non-x-compile-safe tests
Patch by Artyom Skrobov!

llvm-svn: 190679
2013-09-13 10:59:01 +00:00
Elena Demikhovsky
6607b8f860 LLVM interpreter: added a test for insert- extract- value
llvm-svn: 190600
2013-09-12 10:52:03 +00:00
Elena Demikhovsky
6359a6ee2d 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)

llvm-svn: 189735
2013-09-02 06:40:09 +00:00
Nadav Rotem
2962707028 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.

llvm-svn: 188866
2013-08-21 05:03:10 +00:00
NAKAMURA Takumi
19c91d810c 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.)

llvm-svn: 188856
2013-08-21 02:37:25 +00:00
Andrew Kaylor
9e0cc76cbd Still more MCJIT PIC test XFAILs
llvm-svn: 188815
2013-08-20 18:13:48 +00:00
Andrew Kaylor
bfbe500b28 Clarifying two MCJIT PIC tests as XFAIL on i686-pc-linux
llvm-svn: 188814
2013-08-20 17:01:35 +00:00
Andrew Kaylor
c9806bde8d Removing duplicate XFAIL markers
llvm-svn: 188812
2013-08-20 16:42:22 +00:00
Andrew Kaylor
e686f825de Marking two more MCJIT PIC tests as XFAIL on i686
llvm-svn: 188808
2013-08-20 15:47:04 +00:00
Andrew Kaylor
e10f756aa1 Marking MCJIT PIC tests as XFAIL on arm
llvm-svn: 188807
2013-08-20 15:36:04 +00:00
Andrew Kaylor
745a59aca5 Marking MCJIT PIC tests as XFAIL on AArch64
llvm-svn: 188740
2013-08-20 01:50:50 +00:00
Andrew Kaylor
17dcfe14bc Fixing XPASSes among MCJIT PIC test on i686
llvm-svn: 188736
2013-08-20 00:37:33 +00:00
Andrew Kaylor
3653cb94e4 Second attempt to mark Large/PIC MCJIT test as XFAIL for PowerPC64
llvm-svn: 188735
2013-08-20 00:22:03 +00:00
Andrew Kaylor
bb483e15f1 Marking two MCJIT PIC tests as XFAIL on Darwin
llvm-svn: 188734
2013-08-20 00:14:50 +00:00
Andrew Kaylor
895491fcf0 Trying again with PIC tests for MCJIT
llvm-svn: 188730
2013-08-19 23:52:53 +00:00
Andrew Kaylor
37ddd6bf63 Reverting r188709 until I can figure out the proper way to XFAIL it.
llvm-svn: 188715
2013-08-19 22:05:07 +00:00
Andrew Kaylor
9fab6e549f Adding tests for PIC with MCJIT
llvm-svn: 188709
2013-08-19 21:08:35 +00:00
Daniel Dunbar
a496d61c01 [tests] Cleanup initialization of test suffixes.
- Instead of setting the suffixes in a bunch of places, just set one master
   list in the top-level config. We now only modify the suffix list in a few
   suites that have one particular unique suffix (.ml, .mc, .yaml, .td, .py).

 - Aside from removing the need for a bunch of lit.local.cfg files, this enables
   4 tests that were inadvertently being skipped (one in
   Transforms/BranchFolding, a .s file each in DebugInfo/AArch64 and
   CodeGen/PowerPC, and one in CodeGen/SI which is now failing and has been
   XFAILED).

 - This commit also fixes a bunch of config files to use config.root instead of
   older copy-pasted code.

llvm-svn: 188513
2013-08-16 00:37:11 +00:00
Lang Hames
1c531fdf7f Optimistically ignore scattered relocations in MachO in RuntimeDyld. This
un-breaks simple use cases while I work on more general support.

<rdar://problem/14487667>

llvm-svn: 188044
2013-08-09 00:57:01 +00:00
Elena Demikhovsky
9746d0ee1c LLVM Interpreter: MIPS tests should pass
llvm-svn: 187867
2013-08-07 06:13:21 +00:00
Elena Demikhovsky
3b1766cc40 LLVM Interpreter: fixed bug 16694
fix for: Bug 16694 - ExecutionEngine/test-interp-vec-loadstore.ll failing on powerpc-darwin8 (http://llvm.org/bugs/show_bug.cgi?id=16694)
The ExecutionEngine/test-interp-vec-loadstore.ll test has been failing on powerpc-darwin8 (on other platforms it passed)

the reason of fail was wrong output by printf. this output is checked by FileCheck, but on little-endian powerpc the output numeric data were printed inside out and FileCheck reported fail.
the printfs have been replaced by checking data inside test and numeric output has been replaced by the text output like : "int test passed, float test passed". The text output is checked by FileCheck.
the dependency on data layout has been removed.

done by Yuri Veselov (Intel)

llvm-svn: 187791
2013-08-06 10:40:45 +00:00
Elena Demikhovsky
c018c20682 LLVM Interpreter: This patch implements vector support for cast operations (zext, sext, uitofp, sitofp, trunc, fpext, fptosi, fptrunc, bitcast) and shift operations (shl, ashr, lshr) for integer and floating point data types.
Added tests.

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

llvm-svn: 187724
2013-08-05 12:17:06 +00:00
Petar Jovanovic
c2e8594900 [mips] Remove XFAIL from test-ptr-reloc-remote.ll
The change r187019 has fixed multiple relocations in dynamic linker for
MIPS, so now this test passes for MIPS.

llvm-svn: 187053
2013-07-24 17:14:05 +00:00
Stephen Lin
74b6dc3cef Add newlines at end of test files, no functionality change
llvm-svn: 186263
2013-07-13 22:00:58 +00:00
Rafael Espindola
7a8c1c6b6b Enable mcjit tests on ppc64 when building with cmake.
llvm-svn: 183143
2013-06-03 19:17:21 +00:00
Tim Northover
6730241022 Disable new legacy JIT test on ARM.
llvm-svn: 183071
2013-06-01 10:24:11 +00:00
Tim Northover
8efc0e4868 X86: change MOV64ri64i32 into MOV32ri64
The MOV64ri64i32 instruction required hacky MCInst lowering because it
was allocated as setting a GR64, but the eventual instruction ("movl")
only set a GR32. This converts it into a so-called "MOV32ri64" which
still accepts a (appropriate) 64-bit immediate but defines a GR32.
This is then converted to the full GR64 by a SUBREG_TO_REG operation,
thus keeping everyone happy.

This fixes a typo in the opcode field of the original patch, which
should make the legact JIT work again (& adds test for that problem).

llvm-svn: 183068
2013-06-01 09:55:14 +00:00
Tim Northover
a73f012df4 ARM: use pristine object file while processing relocations
Previously we would read-modify-write the target bits when processing
relocations for the MCJIT. This had the problem that when relocations
were processed multiple times for the same object file (as they can
be), the result is not idempotent and the values became corrupted.

The solution to this is to take any bits used in the destination from
the pristine object file as LLVM emitted it.

This should fix PR16013 and remote MCJIT on ARM ELF targets.

llvm-svn: 182800
2013-05-28 19:48:19 +00:00
Renato Golin
4bb213831c Disable remote MCJIT on pre-v6 ARM
llvm-svn: 182235
2013-05-20 07:46:06 +00:00
Tim Northover
c462ec57b7 Invalidate instruction cache when setting memory to be executable.
lli's remote MCJIT code calls setExecutable just prior to running
code. In line with Darwin behaviour this seems to be the place to
invalidate any caches needed so that relocations can take effect
properly.

llvm-svn: 182213
2013-05-19 15:28:16 +00:00
Renato Golin
f18adf5786 Unsupported remote JIT on ARM
llvm-svn: 182201
2013-05-18 19:42:07 +00:00
Rafael Espindola
777f36d415 XFAIL this test for mingw too.
llvm-svn: 181678
2013-05-13 00:18:24 +00:00
Aaron Ballman
3a151dd415 XFAILing this test on Win32 to unbreak the build bots.
llvm-svn: 181600
2013-05-10 14:42:16 +00:00
Adhemerval Zanella
3b2874423e PowerPC: Fix unimplemented relocation on ppc64
This patch handles the R_PPC64_REL64 relocation type for powerpc64
for mcjit.

llvm-svn: 181220
2013-05-06 17:21:23 +00:00
Ulrich Weigand
dbdc6e0306 [SystemZ] Set up JIT/MCJIT test cases
This patch adds the necessary configuration bits and #ifdef's to set up
the JIT/MCJIT test cases for SystemZ.  Like other recent targets, we do
fully support MCJIT, but do not support the old JIT at all.  Set up the
lit config files accordingly, and disable old-JIT unit tests.

Patch by Richard Sandiford.

llvm-svn: 181207
2013-05-06 16:21:50 +00:00
Rafael Espindola
b038125da3 Free the exception object. Should fix the vg bots.
llvm-svn: 181195
2013-05-06 13:30:52 +00:00
Rafael Espindola
723fad6f83 XFAIL for cygwin.
Looks like symbol resolution is not working on cygwin, the test fails
because __gxx_personality_v0 is not found.

llvm-svn: 181179
2013-05-06 03:35:56 +00:00
Rafael Espindola
f67dd4ce8a This should also fail on ARM.
We currently have no way to register new eh frames on ARM.

llvm-svn: 181172
2013-05-05 22:42:34 +00:00
Rafael Espindola
ef39d9678b Fix XFAIL line.
llvm-svn: 181171
2013-05-05 21:30:10 +00:00
Rafael Espindola
6a1e273872 XFAIL this on ppc64.
It looks like eh uses an unimplemented relocation on pp64

llvm-svn: 181169
2013-05-05 21:04:18 +00:00
Rafael Espindola
297c5a1e10 Add EH support to the MCJIT.
This gets exception handling working on ELF and Macho (x86-64 at least).
Other than the EH frame registration, this patch also implements support
for GOT relocations which are used to locate the personality function on
MachO.

llvm-svn: 181167
2013-05-05 20:43:10 +00:00
Tim Northover
390335941f AArch64: enable MCJIT and tests now that everything passes.
This removes dire warnings about AArch64 being unsupported and enables
the tests when appropriate on this platform.

llvm-svn: 181135
2013-05-04 20:14:22 +00:00
Rafael Espindola
58fcd9bdde Fix Addend computation for non external relocations on Macho.
llvm-svn: 180790
2013-04-30 15:40:54 +00:00
Rafael Espindola
c3bc22082f Collect the Addend for external relocs.
This fixes 2013-04-04-RelocAddend.ll. We don't have a testcase for non external
relocs with an Addend. I will try to write one.

llvm-svn: 180767
2013-04-30 01:29:57 +00:00
Rafael Espindola
d175d83203 Add getSymbolAlignment to the ObjectFile interface.
For regular object files this is only meaningful for common symbols. An object
file format with direct support for atoms should be able to provide alignment
information for all symbols.

This replaces getCommonSymbolAlignment and fixes
test-common-symbols-alignment.ll on darwin. This also includes a fix to
MachOObjectFile::getSymbolFlags. It was marking undefined symbols as common
(already tested by existing mcjit tests now that it is used).

llvm-svn: 180736
2013-04-29 22:24:22 +00:00
Rafael Espindola
5189efa685 Disable the MCJIT tests on 32 bit darwin.
I recently enabled them on 32 and 64 bit darwin, but it looks like 32 bit is
still fairly broken.

llvm-svn: 180730
2013-04-29 21:09:32 +00:00
Rafael Espindola
eda9da47d6 Propagate relocation info to resolveRelocation.
This gets most of the MCJITs tests passing with MachO.

llvm-svn: 180716
2013-04-29 17:24:34 +00:00
Nadav Rotem
19172bc0f1 Teach the interpreter to handle vector compares and additional vector arithmetic operations.
Patch by Yuri Veselov.

llvm-svn: 180626
2013-04-26 20:19:41 +00:00
Nadav Rotem
17c064fb45 Revert r179409 because it caused some warnings and some of the build bots fail.
llvm-svn: 179418
2013-04-12 22:02:26 +00:00
Nadav Rotem
99420caf0a Add support for additional vector instructions in the interpreter.
patch by Veselov, Yuri <Yuri.Veselov@intel.com>.

llvm-svn: 179409
2013-04-12 20:45:20 +00:00
Eli Bendersky
88f7dd304e Rewrite test/ExecutionEngine tests to use FileCheck instead of grep
llvm-svn: 179043
2013-04-08 19:51:36 +00:00
Akira Hatanaka
70bcdf07be [mips] XFAIL test-interp-vec-loadstore.ll in an attempt to turn builder
llvm-mips-linux green.

llvm-mips-linux runs on a big endian machine. This test passes if I change 'e'
to 'E' in the target data layout string.

llvm-svn: 178910
2013-04-05 20:54:46 +00:00
Ulrich Weigand
045c5fae3d Respect Addend when processing MCJIT relocations to local/global symbols.
When the RuntimeDyldELF::processRelocationRef routine finds the target
symbol of a relocation in the local or global symbol table, it performs
a section-relative relocation:

    Value.SectionID = lsi->second.first;
    Value.Addend = lsi->second.second;

At this point, however, any Addend that might have been specified in
the original relocation record is lost.  This is somewhat difficult to
trigger for relocations within the code section since they usually
do not contain non-zero Addends (when built with the default JIT code
model, in any case).  However, the problem can be reliably triggered
by a relocation within the data section caused by code like:

 int test[2] = { -1, 0 };
 int *p = &test[1];

The initializer of "p" will need a relocation to "test + 4".  On
platforms using RelA relocations this means an Addend of 4 is required.
Current code ignores this addend when processing the relocation,
resulting in incorrect execution.

Fixed by taking the Addend into account when processing relocations
to symbols found in the local or global symbol table.

Tested on x86_64-linux and powerpc64-linux.

llvm-svn: 178869
2013-04-05 13:29:04 +00:00
Nadav Rotem
fe272b52da Add support for vector data types in the LLVM interpreter.
Patch by:
Veselov, Yuri <Yuri.Veselov@intel.com>

llvm-svn: 178469
2013-04-01 15:53:30 +00:00
Jyotsna Verma
8dc3b4847f Disable Execution Engine tests not supported by Hexagon.
llvm-svn: 177896
2013-03-25 20:02:14 +00:00
Renato Golin
86c3e15702 Corrections for XFAIL armv5 tests
Most of the tests that behave differently on llvm-arm-linux buildbot
did so becase the triple wasn't set correctly to armv5, so we can
revert most of the special behaviour added previously. Some tests
still need the special treatment, though.

llvm-svn: 176243
2013-02-28 10:05:10 +00:00
Renato Golin
1d5ca6f92e Proper XFAILs for ARMv7 / v5
llvm-svn: 176095
2013-02-26 17:16:27 +00:00
Tim Northover
6d736b1227 AArch64: adjust tests which rely on a default JIT
Profiling tests *do* need a JIT. They'll pass if a cross-compiler targetting
AArch64 by default has been built, but fail if a native AArch64 compiler has
been build. Therefore XFAIL is inappropriate and we mark them unsupported.

ExecutionEngine tests are JIT by definition, they should also be unsupported.

Transforms/LICM only uses the interpreter to check the output is still sane
after optimisation. It can be switched to use an interpreter.

llvm-svn: 175433
2013-02-18 11:08:37 +00:00
Peter Collingbourne
5f190b5e4e Introduce llvm::sys::getProcessTriple() function.
In r143502, we renamed getHostTriple() to getDefaultTargetTriple()
as part of work to allow the user to supply a different default
target triple at configure time.  This change also affected the JIT.
However, it is inappropriate to use the default target triple in the
JIT in most circumstances because this will not necessarily match
the current architecture used by the process, leading to illegal
instruction and other such errors at run time.

Introduce the getProcessTriple() function for use in the JIT and
its clients, and cause the JIT to use it.  On architectures with a
single bitness, the host and process triples are identical.  On other
architectures, the host triple represents the architecture of the
host CPU, while the process triple represents the architecture used
by the host CPU to interpret machine code within the current process.
For example, when executing 32-bit code on a 64-bit Linux machine,
the host triple may be 'x86_64-unknown-linux-gnu', while the process
triple may be 'i386-unknown-linux-gnu'.

This fixes JIT for the 32-on-64-bit (and vice versa) build on non-Apple
platforms.

Differential Revision: http://llvm-reviews.chandlerc.com/D254

llvm-svn: 172627
2013-01-16 17:27:22 +00:00
NAKAMURA Takumi
af8d10bdd1 llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: ppc32-elf is not ready.
llvm-svn: 168364
2012-11-20 10:49:01 +00:00
Simon Atanasyan
946ee234f3 Marking remote mcjit tests as XFAIL for MIPS.
llvm-svn: 168357
2012-11-20 07:25:17 +00:00
Ulrich Weigand
c0920bb63a Enable MCJIT tests on PowerPC.
Disable old JIT tests on PowerPC.

llvm-svn: 168316
2012-11-19 17:57:07 +00:00
NAKAMURA Takumi
5948e67968 MCJIT: [cygming] Give noop to __main also in RecordingMemoryManger. It is emitted in @main().
XFAIL(s) can be removed.

llvm-svn: 168282
2012-11-18 06:16:32 +00:00
NAKAMURA Takumi
0a04171e80 test/ExecutionEngine/MCJIT/stubs-remote.ll: Prune DOSish CRLF.
llvm-svn: 168281
2012-11-18 06:16:21 +00:00
Andrew Kaylor
734b62b6ac Marking remote mcjit tests as XFAIL for cygwin (hopefully only temporarily).
llvm-svn: 168226
2012-11-17 00:02:50 +00:00
Andrew Kaylor
f132e42fe6 Marking remote mcjit tests as XFAIL for mingw32 (hopefully only temporarily).
llvm-svn: 168221
2012-11-16 23:38:16 +00:00
Andrew Kaylor
47462d3fe5 Marking remote mcjit tests as XFAIL for ARM (hopefully only temporarily).
llvm-svn: 168210
2012-11-16 22:21:04 +00:00
Andrew Kaylor
3b722976b8 Adding new tests to test lli's pseudo-remote feature (-remote-mcjit).
llvm-svn: 168180
2012-11-16 18:51:59 +00:00
Amara Emerson
6ad9fb1a92 Add MCJIT test case for running global constructors.
llvm-svn: 168149
2012-11-16 11:17:00 +00:00
Tim Northover
a1e6e26f6e Align the data section correctly when loading an ELF file.
Patch by Amara Emerson.

llvm-svn: 166920
2012-10-29 10:47:07 +00:00
Tim Northover
fdb1d1af73 Make use of common-symbol alignment info in ELF loader.
Patch by Amara Emerson.

llvm-svn: 166919
2012-10-29 10:47:04 +00:00
James Molloy
6addd26621 Some regression tests which are testing the old jit and are exercising functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux.
Patch by David Tweed!

llvm-svn: 165390
2012-10-08 13:06:30 +00:00
NAKAMURA Takumi
da9a939cdb Enable llvm/test/ExecutionEngine/MCJIT also for cygwin.
llvm-svn: 165313
2012-10-05 14:10:29 +00:00
Tim Northover
0f0719897b Implement .rel relocation for R_ARM_ABS32 in MCJIT.
Patch by Amara Emerson.

llvm-svn: 165128
2012-10-03 16:29:42 +00:00
NAKAMURA Takumi
2c00334731 test/ExecutionEngine/MCJIT: MCJIT should work also on mingw.
FIXME: Also cygwin?
llvm-svn: 165081
2012-10-03 01:42:37 +00:00
Andrew Kaylor
0d06582cd5 Support for generating ELF objects on Windows.
This adds 'elf' as a recognized target triple environment value and overrides the default generated object format on Windows platforms if that value is present.  This patch also enables MCJIT tests on Windows using the new environment value.

llvm-svn: 165030
2012-10-02 18:38:34 +00:00
Jim Grosbach
855092deca Revert "Enable MCJIT tests on Darwin."
This reverts commit 163278.

Works OK on x86_64, but not i386. Will re-enable when that's cleared up.

llvm-svn: 163290
2012-09-06 03:24:09 +00:00
Jim Grosbach
fb64c491ba Enable MCJIT tests on Darwin.
llvm-svn: 163278
2012-09-06 00:59:06 +00:00
Michael Liao
5c1090880a Should put test case under test/ExecutionEngine/MCJIT/
llvm-svn: 162885
2012-08-30 00:43:57 +00:00
Akira Hatanaka
0ce3a3b090 Add Mips to the list of target architectures for the MCJIT tests.
Patch by Reed Kotler.

llvm-svn: 158933
2012-06-21 20:23:32 +00:00
Danil Malyshev
0d982140e7 Temporarily disabled the MCJIT tests for Darwin, because the RuntimeDyldMachO has a problems with relocations for 32bit x86.
llvm-svn: 157035
2012-05-18 00:30:58 +00:00
Danil Malyshev
dade6759c4 - Added ExecutionEngine/MCJIT tests
- Added HOST_ARCH to Makefile.config.in
The HOST_ARCH will be used by MCJIT tests filter, because MCJIT supported only x86 and ARM architectures now.

llvm-svn: 157015
2012-05-17 21:07:47 +00:00
Preston Gurd
6e9bcca355 This patch improves the MCJIT runtime dynamic loader by adding new handling
of zero-initialized sections, virtual sections and common symbols
and preventing the loading of sections which are not required for
execution such as debug information.

Patch by Andy Kaylor!

llvm-svn: 154610
2012-04-12 20:13:57 +00:00
Bill Wendling
86e08bb6de Revert r153694. It was causing failures in the buildbots.
llvm-svn: 153701
2012-03-29 23:23:59 +00:00
Danil Malyshev
d66f6a3b28 Re-factored RuntimeDyld.
Added ExecutionEngine/MCJIT tests.

llvm-svn: 153694
2012-03-29 21:46:18 +00:00
Chandler Carruth
8243f2a6d4 Revert a series of commits to MCJIT to get the build working in CMake
(and hopefully on Windows). The bots have been down most of the day
because of this, and it's not clear to me what all will be required to
fix it.

The commits started with r153205, then r153207, r153208, and r153221.
The first commit seems to be the real culprit, but I couldn't revert
a smaller number of patches.

When resubmitting, r153207 and r153208 should be folded into r153205,
they were simple build fixes.

llvm-svn: 153241
2012-03-22 05:44:06 +00:00
Danil Malyshev
88676c0b84 Re-factored RuntimeDyld.
Added ExecutionEngine/MCJIT tests.

llvm-svn: 153221
2012-03-21 21:06:29 +00:00
Eli Bendersky
4afdeeb682 Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed.
Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.

llvm-svn: 150664
2012-02-16 06:28:33 +00:00
Eli Bendersky
d53bd9175f Remove "XFAIL: arm" from test/ExecutionEngine/test-return.ll
The test passes on ARM bots

llvm-svn: 148315
2012-01-17 18:21:05 +00:00
Eli Bendersky
fd380c0d1e Additional ExecutionEngine tests, as part of bringing up the MCJIT on ELF
implementation.
Currently lit still executes ExecutionEngine tests with JIT (not MCJIT) by
default. MCJIT tests can be executed manually by calling llvm-lit with
--param jit_impl=mcjit

llvm-svn: 148299
2012-01-17 09:14:54 +00:00
Eli Bendersky
973d44eb7c Adding a basic ELF dynamic loader and MC-JIT for ELF. Functionality is currently basic and will be enhanced with future patches.
Patch developed by Andy Kaylor and Daniel Malea. Reviewed on llvm-commits.

llvm-svn: 148231
2012-01-16 08:56:09 +00:00
Andrew Trick
eb9fa3f9bc Excluding ARM JIT tests until someone can fix this compilation path.
llvm-svn: 138676
2011-08-26 23:39:30 +00:00
Chris Lattner
9ec82f54d4 manually upgrade a bunch of tests to modern syntax, and remove some that
are either unreduced or only test old syntax.

llvm-svn: 133228
2011-06-17 03:14:27 +00:00
Galina Kistanova
5f12790662 Reverted r132135 per Xerxes request. These tests are passing for his setup. Requires more research.
llvm-svn: 132364
2011-05-31 21:50:33 +00:00
Galina Kistanova
ceabe8c579 Make few ExecutionEngine tests XFAIL for ARM, since ExecutionEngine is broken for ARM, please remove the following XFAIL when it will be fixed.
llvm-svn: 132135
2011-05-26 19:17:14 +00:00
Jim Grosbach
5a94ed2d67 XFAIL for now. If someone with access to an ARM/Linux host wants to have a look
that would be great. They're ARM JIT failures, so without that, it's tough.

llvm-svn: 120731
2010-12-02 20:20:32 +00:00
Daniel Dunbar
95f870ece4 lli: Switch to using ParseIRFile, for consistency with other LLVM tools.
- Also, switch tests to not using llvm-as. They run 20% faster now, not that it matters.

llvm-svn: 118952
2010-11-13 00:28:01 +00:00
Dale Johannesen
aa868ba745 Jim's recent fixes 118600, 118587, 118513 have made these work.
llvm-svn: 118652
2010-11-09 23:43:34 +00:00
Andrew Trick
e77cdffcf3 The ARM jit cannot handle these tests as of 2010-10-27.
(A PR will be linked to this rev.)

llvm-svn: 117620
2010-10-29 00:23:43 +00:00
Dan Gohman
0d55b3ecfc Revert r101455, which fails on the llvm-arm-linux buildbot.
llvm-svn: 101515
2010-04-16 18:37:31 +00:00
Bill Wendling
60db5321b6 Add JIT exception handling test.
llvm-svn: 101455
2010-04-16 09:04:28 +00:00
Dan Gohman
37bf232609 Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
respectively.

llvm-svn: 97531
2010-03-02 01:11:08 +00:00
Jay Foad
c4313ce9ba Test case for http://llvm.org/PR6028.
llvm-svn: 93511
2010-01-15 11:29:26 +00:00
Nick Lewycky
20b71b5437 Remove test. Execution tests are slow and generally not worth it.
llvm-svn: 86434
2009-11-08 02:23:15 +00:00
Nick Lewycky
c62b3b55b1 Fix run line.
llvm-svn: 86429
2009-11-08 01:04:45 +00:00
Nick Lewycky
21dd3f31b0 Fix the interpreter to not crash due to zeroext/signext
llvm-svn: 86428
2009-11-08 00:45:29 +00:00
Jeffrey Yasskin
4b0dd74b7f Add a test for http://llvm.org/PR3043.
llvm-svn: 83346
2009-10-05 23:51:08 +00:00
Bill Wendling
2809c62757 Remove failing test...
llvm-svn: 81303
2009-09-09 00:30:25 +00:00
Bill Wendling
95b3d14496 Fix PR4865. This syncs up the JIT's DWARF emitter with what's in the
'DwarfException.cpp' file, which changed how CIEs were emitted, the sizes of
some fields, etc.

llvm-svn: 81295
2009-09-09 00:11:02 +00:00
Dan Gohman
bf08e82d8e Remove obsolete -f flags.
llvm-svn: 79992
2009-08-25 15:38:29 +00:00
Chris Lattner
c0e1f7be5f Remove this test now that the interpreter doesn't support
interpreting the wrong endianness anymore.  This fixes a 
failure on clang-powerpc-darwin8

llvm-svn: 79880
2009-08-24 02:05:59 +00:00
Chris Lattner
d8999e8673 remove this test: it is testing for a "feature" I just removed.
llvm-svn: 79874
2009-08-23 23:01:02 +00:00
Chris Lattner
b8dac327a7 remove tests for removed intrinsics.
llvm-svn: 75433
2009-07-12 21:30:06 +00:00
Dan Gohman
5f6f8101d5 Split the Add, Sub, and Mul instruction opcodes into separate
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.

For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.

This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt

llvm-svn: 72897
2009-06-04 22:49:04 +00:00
Chris Lattner
0a0fa539da remove a testcase that depends on -debug existing.
llvm-svn: 66936
2009-03-13 20:31:25 +00:00
Zhou Sheng
7b7326f3ce This is case is to uncover the bug in IntrinsicLowering.cpp,
the LowerPartSet(). It didn't handle the situation correctly when 
the low, high argument values are in reverse order (low > high) 
with 'Val' type is i32 (a corner case).

llvm-svn: 63386
2009-01-30 08:59:51 +00:00
Nick Lewycky
7c5381a70c Port this test from dejagnu to unit testing.
The way this worked before was to test APInt by running
"lli -force-interpreter=true" knowing the lli uses APInt under the hood to
store its values. Now, we test APInt directly.

llvm-svn: 62514
2009-01-19 18:08:33 +00:00
Zhou Sheng
9c9d852f08 Add a test case for APInt bug fix in r51999.
llvm-svn: 52000
2008-06-05 13:42:21 +00:00
Gabor Greif
b03785f0cd Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit.
llvm-svn: 51357
2008-05-20 22:07:21 +00:00
Gabor Greif
807c2df887 sabre brings to my attention that the 'tr' suffix is also obsolete
llvm-svn: 51349
2008-05-20 21:00:03 +00:00
Gabor Greif
d8a4dbb5da Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
llvm-svn: 51328
2008-05-20 19:52:04 +00:00
Chris Lattner
a9d8d647ca rename *.llx -> *.ll, last batch.
llvm-svn: 49971
2008-04-19 22:32:52 +00:00
Tanya Lattner
8ac346c316 Remove llvm-upgrade and update tests.
llvm-svn: 48137
2008-03-10 07:21:50 +00:00
Duncan Sands
091a505971 Teach the interpreter to read and write memory in the
endianness of the target not of the host.  Done by the
simple expedient of reversing bytes for primitive types
if the host and target endianness don't match.  This is
correct for integer and pointer types.  I don't know if
it is correct for floating point types.

llvm-svn: 45039
2007-12-14 19:38:31 +00:00
Zhou Sheng
8361abb64f Remove this testcase as it will always fail on
platform like Darwin.

llvm-svn: 44977
2007-12-13 02:03:57 +00:00
Zhou Sheng
089df5d640 Fixed PR1629.
Make lli interpreter correctly call external functions sin()/cos(),
__cxa_guard_acquire() and __cxa_guard_release().

llvm-svn: 44910
2007-12-12 04:55:43 +00:00
Duncan Sands
1279851352 Fix PR1836: in the interpreter, read and write apints
using the minimum possible number of bytes.  For little
endian targets run on little endian machines, apints are
stored in memory from LSB to MSB as before.  For big endian
targets on big endian machines they are stored from MSB to
LSB which wasn't always the case before (if the target and
host endianness doesn't match values are stored according
to the host's endianness).  Doing this requires knowing the
endianness of the host, which is determined when configuring -
thanks go to Anton for this.  Only having access to little
endian machines I was unable to properly test the big endian
part, which is also the most complicated...

llvm-svn: 44796
2007-12-10 17:43:13 +00:00
Chris Lattner
863d6e8741 make this test have a deterministic result.
llvm-svn: 44404
2007-11-28 18:20:49 +00:00
Duncan Sands
a3c32699ce Revert previous "fix" - the breakage was due to some
local changes, not the "not".

llvm-svn: 44402
2007-11-28 16:50:29 +00:00
Duncan Sands
0106c9a15b This test somehow got an extra "not" during the
recent stderr updates.

llvm-svn: 44401
2007-11-28 15:36:27 +00:00
Tanya Lattner
c33660d278 Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines.
XFAILed 3 arm regressions (will file bugs)

llvm-svn: 44389
2007-11-28 04:57:00 +00:00
John Criswell
57e5ed4b5a Convert .cvsignore files
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Reid Spencer
c74dc663d1 Add a test case for shl of APInt integers > 64 bits by 0 shift amount.
llvm-svn: 37009
2007-05-12 17:59:55 +00:00
Reid Spencer
4a38716edd Add a test case for testing the LLI interpreter wrt bitcast of fp to integer.
llvm-svn: 36732
2007-05-04 03:35:17 +00:00
Reid Spencer
d74463a129 For PR1319: Upgrade to new test harness
llvm-svn: 36070
2007-04-15 10:26:05 +00:00
Reid Spencer
56b310ae49 Make the llvm-runtest function much more amenable by eliminating all the
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.

llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Reid Spencer
1f2f4ae151 Make sure the value passed to test function is initialized.
llvm-svn: 33764
2007-02-01 21:58:46 +00:00