summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Disassembler
Commit message (Collapse)AuthorAgeFilesLines
...
* my work on adding segment registers to LEA missed the Chris Lattner2010-07-131-12/+3
| | | | | | | disassembler. Remove some code from the disassembler to compensate, unbreaking disassembly of lea's. llvm-svn: 108226
* This bug is also present in MSVC10. Requested by Elrood on IRC.Duncan Sands2010-06-051-2/+2
| | | | llvm-svn: 105527
* Eliminated the classification of control registers into %ecr_Sean Callanan2010-05-064-32/+15
| | | | | | | | | and %rcr_, leaving just %cr_ which is what people expect. Updated the disassembler to support this unified register set. Added a testcase to verify that the registers continue to be decoded correctly. llvm-svn: 103196
* Fixed a sign-extension bug in the X86 disassemblerSean Callanan2010-05-051-3/+55
| | | | | | | | that was causing PC-relative branch targets to be evaluated incorrectly. Also added support for checking operand values to the llvm-mc tester. llvm-svn: 103128
* disable optimizations in this directory for MSVC9. This avoidsChris Lattner2010-04-201-0/+7
| | | | | | an optimizer infinite loop on the file, PR6866. llvm-svn: 101854
* add a missing break back, patch by Nico Schmidt!Chris Lattner2010-04-161-0/+1
| | | | llvm-svn: 101538
* Fixed a nasty layering violation in the edis sourceSean Callanan2010-04-132-0/+11
| | | | | | | | | | | | | | | code. It used to #include the enhanced disassembly information for the targets it supported straight out of lib/Target/{X86,ARM,...} but now it uses a new interface provided by MCDisassembler, and (so far) implemented by X86 and ARM. Also removed hacky #define-controlled initialization of targets in edis. If clients only want edis to initialize a limited set of targets, they can set --enable-targets on the configure command line. llvm-svn: 101179
* Fixed a bug where the disassembler would allow an immediateSean Callanan2010-04-072-0/+4
| | | | | | | | | argument that had to be between 0 and 7 to have any value, firing an assert later in the AsmPrinter. Now, the disassembler rejects instructions with out-of-range values for that immediate. llvm-svn: 100694
* Fixes to the X86 disassembler. The disassembler will nowSean Callanan2010-04-023-136/+203
| | | | | | | return an error status in all failure cases, printing messages to debugs() only when debugging is enabled. llvm-svn: 100229
* TargetRegistry: Fix create{AsmInfo,MCDisassembler} to return non-const objects.Daniel Dunbar2010-03-201-2/+2
| | | | llvm-svn: 99097
* Try to fix a valgrind error on 32 bit platforms: use %zu instead of %llu to ↵Benjamin Kramer2010-03-181-2/+2
| | | | | | format a size_t. llvm-svn: 98819
* Fix LLVM build when the user specifies CPPFLAGS on the make command line.Jeffrey Yasskin2010-03-121-1/+1
| | | | llvm-svn: 98394
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-241-1/+0
| | | | llvm-svn: 94378
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-221-0/+1
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* More fixes for Visual C++. Replaced several very smallSean Callanan2009-12-231-10/+10
| | | | | | static inline functions with macros. llvm-svn: 91973
* Removed the "inline" keyword from the disassembler decoder,Sean Callanan2009-12-221-30/+30
| | | | | | because the Visual C++ build does not build .c files as C99 llvm-svn: 91935
* Fixes to the X86 disassembler:Sean Callanan2009-12-222-5/+17
| | | | | | | | Made LEA memory operands emit only 4 MCInst operands. Made the scale operand equal 1 for instructions that have no SIB byte. llvm-svn: 91919
* Include based on the current path, since we already -I the X86 target's ↵Douglas Gregor2009-12-221-1/+1
| | | | | | path. Fixes CMake build llvm-svn: 91908
* Changed REG_* to MODRM_REG_* to avoid conflictsSean Callanan2009-12-222-17/+21
| | | | | | with symbols in AuroraUX's global namespace. llvm-svn: 91879
* Fix some may-be-uninitialized var warnings.Daniel Dunbar2009-12-221-3/+3
| | | | llvm-svn: 91878
* Fixed library dependencies between the X86 disassembler andSean Callanan2009-12-222-14/+5
| | | | | | X86 codegen that were causing circular symbol dependencies. llvm-svn: 91871
* #if 0 out X86 disassembler for now, it is breaking the build in multiple places.Daniel Dunbar2009-12-192-0/+13
| | | | llvm-svn: 91778
* rename dprintf to dbgpritnf, in order to fix build with glibc (which already ↵Nuno Lopes2009-12-191-29/+29
| | | | | | defines dprintf in stdio.h llvm-svn: 91775
* Use memset instead of bzero, its more portable.Daniel Dunbar2009-12-191-2/+2
| | | | llvm-svn: 91754
* Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit Sean Callanan2009-12-196-3/+2816
| | | | | | | | | | | | | | | | | | | | incarnations), integrated into the MC framework. The disassembler is table-driven, using a custom TableGen backend to generate hierarchical tables optimized for fast decode. The disassembler consumes MemoryObjects and produces arrays of MCInsts, adhering to the abstract base class MCDisassembler (llvm/MC/MCDisassembler.h). The disassembler is documented in detail in - lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime) - utils/TableGen/DisassemblerEmitter.cpp (table emitter) You can test the disassembler by running llvm-mc -disassemble for i386 or x86_64 targets. Please let me know if you encounter any problems with it. llvm-svn: 91749
* Sketch structure for X86 disassembler.Daniel Dunbar2009-11-253-0/+51
llvm-svn: 89850
OpenPOWER on IntegriCloud