llvm-project/lldb/source/API
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
..
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
SBAddress.cpp Added some functions to our API related to classifying symbols as code, data, 2011-03-31 01:08:07 +00:00
SBBlock.cpp Fixed SBFrame to properly check to make sure it has a valid m_opaque_sp object 2010-12-14 04:58:53 +00:00
SBBreakpoint.cpp The LLDB API (lldb::SB*) is now thread safe! 2010-12-20 20:49:23 +00:00
SBBreakpointLocation.cpp The LLDB API (lldb::SB*) is now thread safe! 2010-12-20 20:49:23 +00:00
SBBroadcaster.cpp Added a less than operator that will compare the internal opaque pointer values so SBBroadcaster objects can be contained in ordered containers or sorted. 2010-12-05 23:14:19 +00:00
SBCommandInterpreter.cpp Abtracted the innards of lldb-core away from the SB interface. There was some 2011-03-22 01:14:58 +00:00
SBCommandReturnObject.cpp - Changed all the places where CommandObjectReturn was exporting a StreamString to just exporting 2011-02-19 02:53:09 +00:00
SBCommunication.cpp More reverting of the EOF stuff as the API was changed which we don't want to 2010-12-04 02:39:47 +00:00
SBCompileUnit.cpp Fixed SBFrame to properly check to make sure it has a valid m_opaque_sp object 2010-12-14 04:58:53 +00:00
SBDebugger.cpp Fixed an issue where if you specify an architecture from the command line like: 2011-04-18 23:15:17 +00:00
SBError.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
SBEvent.cpp Fixed a crasher when trying to get event data flavors on events that don't 2010-12-05 19:21:02 +00:00
SBFileSpec.cpp Add missing headers. 2011-04-08 13:36:44 +00:00
SBFrame.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
SBFunction.cpp Cleaned up the Disassembler code a bit more. You can now request a disassembler 2011-03-25 18:03:16 +00:00
SBHostOS.cpp Moved FileSpec into the Host layer since it will vary from host to host. 2011-02-08 05:05:52 +00:00
SBInputReader.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
SBInstruction.cpp Add the infrastructure to test instruction emulations automatically. 2011-04-19 23:30:03 +00:00
SBInstructionList.cpp Add Emulate and DumpEmulation to Instruction class. 2011-04-05 23:22:54 +00:00
SBLineEntry.cpp Add missing headers. 2011-04-08 13:36:44 +00:00
SBListener.cpp Added a SBListener parameter to Launch and attach calls to avoid a race 2011-02-03 21:28:34 +00:00
SBModule.cpp Add TestSymbolAPI.py to test the newly added SBSymbol and SBAddress APIs: 2011-04-01 00:35:55 +00:00
SBProcess.cpp Add a test case ProcessAPITestCase.test_remote_launch() which tests SBProcess.RemoteLaunch() 2011-03-05 01:20:11 +00:00
SBSourceManager.cpp Add test_display_source_python() test case to TestSourceManager.py which uses 2010-12-11 01:20:39 +00:00
SBStream.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
SBStringList.cpp Added copy constructors and assignment operators to all lldb::SB* classes 2010-11-05 23:17:00 +00:00
SBSymbol.cpp Added some functions to our API related to classifying symbols as code, data, 2011-03-31 01:08:07 +00:00
SBSymbolContext.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
SBSymbolContextList.cpp Added some missing API for address resolving within a module, and looking 2010-09-10 18:31:35 +00:00
SBTarget.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
SBThread.cpp Added support for stepping out of a frame. If you have 10 stack frames, and you 2011-01-21 06:11:58 +00:00
SBType.cpp Fixed up the SBValue::GetExpressionPath() to be more correct under more 2011-01-21 01:59:00 +00:00
SBValue.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
SBValueList.cpp The LLDB API (lldb::SB*) is now thread safe! 2010-12-20 20:49:23 +00:00