Commit Graph

139 Commits

Author SHA1 Message Date
Andrew Kaylor ec2ea125a8 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 9fd5e53f1d 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 c2293fc7f2 LLVM interpreter: added a test for insert- extract- value
llvm-svn: 190600
2013-09-12 10:52:03 +00:00
Elena Demikhovsky 843657c311 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 7efc04cb40 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 de8880a23d 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 00b8fe583d Still more MCJIT PIC test XFAILs
llvm-svn: 188815
2013-08-20 18:13:48 +00:00
Andrew Kaylor c20ace87fa Clarifying two MCJIT PIC tests as XFAIL on i686-pc-linux
llvm-svn: 188814
2013-08-20 17:01:35 +00:00
Andrew Kaylor fae66f2aa8 Removing duplicate XFAIL markers
llvm-svn: 188812
2013-08-20 16:42:22 +00:00
Andrew Kaylor cf90777cd0 Marking two more MCJIT PIC tests as XFAIL on i686
llvm-svn: 188808
2013-08-20 15:47:04 +00:00
Andrew Kaylor e35613b962 Marking MCJIT PIC tests as XFAIL on arm
llvm-svn: 188807
2013-08-20 15:36:04 +00:00
Andrew Kaylor e0c8f50f3e Marking MCJIT PIC tests as XFAIL on AArch64
llvm-svn: 188740
2013-08-20 01:50:50 +00:00
Andrew Kaylor ef7280c7f4 Fixing XPASSes among MCJIT PIC test on i686
llvm-svn: 188736
2013-08-20 00:37:33 +00:00
Andrew Kaylor 99974313d5 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 2393389226 Marking two MCJIT PIC tests as XFAIL on Darwin
llvm-svn: 188734
2013-08-20 00:14:50 +00:00
Andrew Kaylor c4c1ff6ddd Trying again with PIC tests for MCJIT
llvm-svn: 188730
2013-08-19 23:52:53 +00:00
Andrew Kaylor 28c2370602 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 93bf08705a Adding tests for PIC with MCJIT
llvm-svn: 188709
2013-08-19 21:08:35 +00:00
Daniel Dunbar 9efbedfd35 [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 fe2833be4d 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 cfd982af80 LLVM Interpreter: MIPS tests should pass
llvm-svn: 187867
2013-08-07 06:13:21 +00:00
Elena Demikhovsky 63bd63e4a3 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 62d19c8bdf 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 514d37ab4c [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 6dd347b39f Add newlines at end of test files, no functionality change
llvm-svn: 186263
2013-07-13 22:00:58 +00:00
Rafael Espindola f102438f3a Enable mcjit tests on ppc64 when building with cmake.
llvm-svn: 183143
2013-06-03 19:17:21 +00:00
Tim Northover c35854077b Disable new legacy JIT test on ARM.
llvm-svn: 183071
2013-06-01 10:24:11 +00:00
Tim Northover 3a1fd4c0ac 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 3b684d8359 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 9e18922d67 Disable remote MCJIT on pre-v6 ARM
llvm-svn: 182235
2013-05-20 07:46:06 +00:00
Tim Northover 77d0a4ac62 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 d684165620 Unsupported remote JIT on ARM
llvm-svn: 182201
2013-05-18 19:42:07 +00:00
Rafael Espindola 65c016b106 XFAIL this test for mingw too.
llvm-svn: 181678
2013-05-13 00:18:24 +00:00
Aaron Ballman e42ccf32cc XFAILing this test on Win32 to unbreak the build bots.
llvm-svn: 181600
2013-05-10 14:42:16 +00:00
Adhemerval Zanella e8bd03da5c 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 80435baa14 [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 57dc142d40 Free the exception object. Should fix the vg bots.
llvm-svn: 181195
2013-05-06 13:30:52 +00:00
Rafael Espindola 072f4d9a1e 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 f48af0ae1d 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 b32c880b31 Fix XFAIL line.
llvm-svn: 181171
2013-05-05 21:30:10 +00:00
Rafael Espindola e639744c4b 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 fa5942bc2c 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 7b55b97dba 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 52501033d0 Fix Addend computation for non external relocations on Macho.
llvm-svn: 180790
2013-04-30 15:40:54 +00:00
Rafael Espindola d00c2765aa 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 e4dd2e0132 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 29cb481ba0 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 f1f1c626e7 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 be0e89d9e8 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 4e4d45e507 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