llvm-6502/test
Lang Hames daf061cf05 [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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213698 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-22 22:47:39 +00:00
..
Analysis Improve BasicAA CS-CS queries (redux) 2014-07-17 01:28:25 +00:00
Assembler Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave. 2014-07-21 23:11:03 +00:00
Bindings [OCaml] Don't truncate constants over 32 bits in Llvm.const_int. 2014-07-22 13:55:20 +00:00
Bitcode Make use of the align parameter attribute for all pointer arguments 2014-07-22 16:58:55 +00:00
BugPoint
CodeGen [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
DebugInfo Revert "Recommit r212203: Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information." 2014-07-21 20:45:59 +00:00
ExecutionEngine [MCJIT] Refactor and add stub inspection to the RuntimeDyldChecker framework. 2014-07-22 22:47:39 +00:00
Feature
FileCheck
Instrumentation [ASan] Don't instrument load/stores with !nosanitize metadata. 2014-07-17 18:48:12 +00:00
Integer
JitListener
Linker
LTO
MC X86: drop relocations on __eh_frame sections globally. 2014-07-22 15:47:09 +00:00
Object Add printing of Mach-O stabs in llvm-nm. 2014-07-17 22:47:16 +00:00
Other
TableGen Revert of r213521. This change introduced a non-hermetic test (depending on a 2014-07-22 02:32:12 +00:00
tools llvm-objdump: Handle BSS sections larger than the object file 2014-07-14 16:20:14 +00:00
Transforms This patch implements optimization as mentioned in PR19753: Optimize comparisons with "ashr/lshr exact" of a constanst. 2014-07-22 19:19:36 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in Eliminate inappropriate use of FindProgramByName() from lli 2014-01-22 21:52:35 +00:00
Makefile
Makefile.tests
TestRunner.sh