1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/ExecutionEngine
Lang Hames 59246bdf0c [MCJIT] Refactor and add stub inspection to the RuntimeDyldChecker framework.
This patch introduces a 'stub_addr' builtin that can be used to find the address
of the stub for a given (<file>, <section>, <symbol>) tuple. This address can be
used both to verify the contents of stubs (by loading from the returned address)
and to verify references to stubs (by comparing against the returned address).

Example (1) - Verifying stub contents:

Load 8 bytes (assuming a 64-bit target) from the stub for 'x' in the __text
section of f.o, and compare that value against the addres of 'x'.

# rtdyld-check: *{8}(stub_addr(f.o, __text, x) = x

Example (2) - Verifying references to stubs:

Decode the immediate of the instruction at label 'l', and verify that it's
equal to the offset from the next instruction's PC to the stub for 'y' in the
__text section of f.o (i.e. it's the correct PC-rel difference).

# rtdyld-check: decode_operand(l, 4) = stub_addr(f.o, __text, y) - next_pc(l)
l:
        movq    y@GOTPCREL(%rip), %rax

Since stub inspection requires cooperation with RuntimeDyldImpl this patch
pimpl-ifies RuntimeDyldChecker. Its implementation is moved in to a new class,
RuntimeDyldCheckerImpl, that has access to the definition of RuntimeDyldImpl.

llvm-svn: 213698
2014-07-22 22:47:39 +00:00
..
MCJIT [RuntimeDyld] Support more PPC64 relocations 2014-06-20 17:51:47 +00:00
RuntimeDyld [MCJIT] Refactor and add stub inspection to the RuntimeDyldChecker framework. 2014-07-22 22:47:39 +00:00
2002-12-16-ArgTest.ll Corrections for XFAIL armv5 tests 2013-02-28 10:05:10 +00:00
2003-01-04-ArgumentBug.ll
2003-01-04-LoopTest.ll
2003-01-04-PhiTest.ll
2003-01-09-SARTest.ll
2003-01-10-FUCOM.ll
2003-01-15-AlignmentTest.ll
2003-05-06-LivenessClobber.ll
2003-05-07-ArgumentTest.ll
2003-05-11-PHIRegAllocBug.ll
2003-06-04-bzip2-bug.ll
2003-06-05-PHIBug.ll
2003-08-15-AllocaAssertion.ll
2003-08-21-EnvironmentTest.ll
2003-08-23-RegisterAllocatePhysReg.ll
2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
2005-12-02-TailCallBug.ll
2007-12-10-APIntLoadStore.ll
2008-06-05-APInt-OverAShr.ll Rewrite test/ExecutionEngine tests to use FileCheck instead of grep 2013-04-08 19:51:36 +00:00
2010-01-15-UndefValue.ll
fma3-jit.ll 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. 2013-08-21 05:03:10 +00:00
fpbitcast.ll Rewrite test/ExecutionEngine tests to use FileCheck instead of grep 2013-04-08 19:51:36 +00:00
hello2.ll
hello.ll
lit.local.cfg mark the old jit tests as unsupported for powerpc64 (for cmake) 2014-06-17 17:04:42 +00:00
mov64zext32.ll Add newlines at end of test files, no functionality change 2013-07-13 22:00:58 +00:00
simplesttest.ll
simpletest.ll
stubs.ll
test-arith.ll
test-branch.ll
test-call-no-external-funcs.ll
test-call.ll Corrections for XFAIL armv5 tests 2013-02-28 10:05:10 +00:00
test-cast.ll
test-common-symbols.ll
test-constantexpr.ll
test-fp-no-external-funcs.ll Corrections for XFAIL armv5 tests 2013-02-28 10:05:10 +00:00
test-fp.ll Corrections for XFAIL armv5 tests 2013-02-28 10:05:10 +00:00
test-global-init-nonzero.ll
test-global.ll
test-interp-vec-arithm_float.ll Teach the interpreter to handle vector compares and additional vector arithmetic operations. 2013-04-26 20:19:41 +00:00
test-interp-vec-arithm_int.ll Teach the interpreter to handle vector compares and additional vector arithmetic operations. 2013-04-26 20:19:41 +00:00
test-interp-vec-cast.ll 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. 2013-08-05 12:17:06 +00:00
test-interp-vec-insertelement.ll llvm interpreter: select, shuffle and insertelement instructions. 2013-09-02 06:40:09 +00:00
test-interp-vec-insertextractvalue.ll LLVM interpreter: added a test for insert- extract- value 2013-09-12 10:52:03 +00:00
test-interp-vec-loadstore.ll LLVM Interpreter: MIPS tests should pass 2013-08-07 06:13:21 +00:00
test-interp-vec-logical.ll Teach the interpreter to handle vector compares and additional vector arithmetic operations. 2013-04-26 20:19:41 +00:00
test-interp-vec-select.ll llvm interpreter: select, shuffle and insertelement instructions. 2013-09-02 06:40:09 +00:00
test-interp-vec-setcond-fp.ll Teach the interpreter to handle vector compares and additional vector arithmetic operations. 2013-04-26 20:19:41 +00:00
test-interp-vec-setcond-int.ll Teach the interpreter to handle vector compares and additional vector arithmetic operations. 2013-04-26 20:19:41 +00:00
test-interp-vec-shift.ll 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. 2013-08-05 12:17:06 +00:00
test-interp-vec-shuffle.ll llvm interpreter: select, shuffle and insertelement instructions. 2013-09-02 06:40:09 +00:00
test-loadstore.ll
test-local.ll
test-logical.ll
test-loop.ll
test-phi.ll
test-ret.ll
test-return.ll
test-setcond-fp.ll
test-setcond-int.ll
test-shift.ll