Commit Graph

13 Commits

Author SHA1 Message Date
Sean Callanan 04cc307edd Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
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
2009-12-19 02:59:52 +00:00
Chris Lattner 17ec6b11d2 split random COFF asmprinter state out to X86COFFMachineModuleInfo.h.
Make dllexport directives come out in determinstic order.

llvm-svn: 82381
2009-09-20 06:45:52 +00:00
Shantonu Sen b15840a6d6 fix cmake build
llvm-svn: 81999
2009-09-16 04:44:00 +00:00
Benjamin Kramer 3c62f5095a Normalize makefile comments and sort cmake file lists.
llvm-svn: 80584
2009-08-31 13:05:24 +00:00
Benjamin Kramer f7b571726a Forgot to update some CMakeLists.
llvm-svn: 79780
2009-08-22 22:20:11 +00:00
Oscar Fuentes 6b5cb8a6b3 CMake: Corrected variable check.
llvm-svn: 79030
2009-08-14 19:56:04 +00:00
Oscar Fuentes bcbae01797 CMake: Added asm file to x86_64 MSVC build.
llvm-svn: 78807
2009-08-12 15:54:28 +00:00
Daniel Dunbar bdffb1a333 Start generating AsmMatcher.inc for X86.
llvm-svn: 76213
2009-07-17 18:55:26 +00:00
Douglas Gregor 6141511621 CMake build fixes, from Xerxes Ranby
llvm-svn: 74720
2009-07-02 18:53:52 +00:00
Dan Gohman 88ba5f0b96 Move the code that inserts X87 FP_REG_KILL instructions from a
special-purpose hook to a new pass. Also, add check to see if any
x87 virtual registers are used, to avoid doing any work in the
common case that no x87 code is needed.

llvm-svn: 59190
2008-11-12 22:55:05 +00:00
Oscar Fuentes cdc95498f5 CMake: Builds all targets.
llvm-svn: 56641
2008-09-26 04:40:32 +00:00
Oscar Fuentes 8807bddf08 CMake build system: support for parallel builds.
llvm-svn: 56453
2008-09-22 18:21:51 +00:00
Oscar Fuentes a229b3c9a7 Initial support for the CMake build system.
llvm-svn: 56419
2008-09-22 01:08:49 +00:00