hanchenye-llvm-project/lldb
Caroline Tice 3ac6711aec Add the infrastructure to test instruction emulations automatically.
The idea is that the instruction to be emulated is actually executed
on the hardware to be emulated, with the before and after state of the
hardware being captured and 'freeze-dried' into .dat files.  The
emulation testing code then loads the before & after state from the
.dat file, emulates the instruction using the before state, and
compares the resulting state to the 'after' state.  If they match, the
emulation is accurate, otherwise there is a problem.

The final format of the .dat files needs a bit more work; the plan is
to generalize them a bit and to convert the plain values to key-value pairs. 
But I wanted to get this first pass committed.

This commit adds arm instruction emulation testing to the testsuite, along with
many initial .dat files.

It also fixes a bug in the llvm disassembler, where 32-bit thumb opcodes
were getting their upper & lower 16-bits reversed.

There is a new Instruction sub-class, that is intended to be loaded
from a .dat file rather than read from an executable.  There is also a
new EmulationStateARM class, for handling the before & after states.
EmulationStates for other architetures can be added later when we
emulate their instructions.

llvm-svn: 129832
2011-04-19 23:30:03 +00:00
..
docs Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. 2011-01-08 20:28:42 +00:00
examples The example had gotten stale, so I made it work again, and for fun printed out the frame registers as well. 2011-03-30 01:55:23 +00:00
include Add the infrastructure to test instruction emulations automatically. 2011-04-19 23:30:03 +00:00
lib Add makefile support for the ARM instruction emulation plugin. 2011-04-08 02:01:35 +00:00
lldb.xcodeproj Add the infrastructure to test instruction emulations automatically. 2011-04-19 23:30:03 +00:00
lldb.xcworkspace Adding a Xcode workspace for lldb. 2011-01-27 20:15:39 +00:00
resources Bumped Xcode project versions to lldb-46 and debugserver-131. 2011-01-29 07:14:26 +00:00
scripts Updated LLVM to pick up fixes to the ARM instruction 2011-04-14 02:01:31 +00:00
source Add the infrastructure to test instruction emulations automatically. 2011-04-19 23:30:03 +00:00
test Add the infrastructure to test instruction emulations automatically. 2011-04-19 23:30:03 +00:00
tools Centralized a lot of the status information for processes, 2011-04-18 08:33:37 +00:00
utils Add a Python script which launches a program from within lldb and loop until the 2011-04-02 01:20:28 +00:00
www Added a few more commands, but I mainly wanted to include how to run lldb 2011-04-12 00:43:35 +00:00
INSTALL.txt
LICENSE.TXT
Makefile Python override patch from Jai Menon. 2011-02-05 02:32:19 +00:00