mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-01 19:29:22 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8
43 lines
1.2 KiB
CMake
43 lines
1.2 KiB
CMake
set(LLVM_TARGET_DEFINITIONS X86.td)
|
|
|
|
tablegen(X86GenRegisterInfo.h.inc -gen-register-desc-header)
|
|
tablegen(X86GenRegisterNames.inc -gen-register-enums)
|
|
tablegen(X86GenRegisterInfo.inc -gen-register-desc)
|
|
tablegen(X86GenDisassemblerTables.inc -gen-disassembler)
|
|
tablegen(X86GenInstrNames.inc -gen-instr-enums)
|
|
tablegen(X86GenInstrInfo.inc -gen-instr-desc)
|
|
tablegen(X86GenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
|
|
tablegen(X86GenAsmMatcher.inc -gen-asm-matcher)
|
|
tablegen(X86GenDAGISel.inc -gen-dag-isel)
|
|
tablegen(X86GenFastISel.inc -gen-fast-isel)
|
|
tablegen(X86GenCallingConv.inc -gen-callingconv)
|
|
tablegen(X86GenSubtarget.inc -gen-subtarget)
|
|
|
|
set(sources
|
|
X86CodeEmitter.cpp
|
|
X86COFFMachineModuleInfo.cpp
|
|
X86ELFWriterInfo.cpp
|
|
X86FloatingPoint.cpp
|
|
X86FloatingPointRegKill.cpp
|
|
X86ISelDAGToDAG.cpp
|
|
X86ISelLowering.cpp
|
|
X86InstrInfo.cpp
|
|
X86JITInfo.cpp
|
|
X86MCAsmInfo.cpp
|
|
X86RegisterInfo.cpp
|
|
X86Subtarget.cpp
|
|
X86TargetMachine.cpp
|
|
X86TargetObjectFile.cpp
|
|
X86FastISel.cpp
|
|
)
|
|
|
|
if( CMAKE_CL_64 )
|
|
enable_language(ASM_MASM)
|
|
set(sources ${sources} X86CompilationCallback_Win64.asm)
|
|
endif()
|
|
|
|
add_llvm_target(X86CodeGen ${sources})
|
|
|
|
target_link_libraries (LLVMX86CodeGen LLVMSelectionDAG)
|