1 set(LLVM_TARGET_DEFINITIONS X86.td) 2 3 tablegen(X86GenRegisterInfo.inc -gen-register-info) 4 tablegen(X86GenDisassemblerTables.inc -gen-disassembler) 5 tablegen(X86GenInstrInfo.inc -gen-instr-info) 6 tablegen(X86GenAsmWriter.inc -gen-asm-writer) 7 tablegen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1) 8 tablegen(X86GenAsmMatcher.inc -gen-asm-matcher) 9 tablegen(X86GenDAGISel.inc -gen-dag-isel) 10 tablegen(X86GenFastISel.inc -gen-fast-isel) 11 tablegen(X86GenCallingConv.inc -gen-callingconv) 12 tablegen(X86GenSubtargetInfo.inc -gen-subtarget) 13 tablegen(X86GenEDInfo.inc -gen-enhanced-disassembly-info) 14 15 set(sources 16 SSEDomainFix.cpp 17 X86AsmBackend.cpp 18 X86AsmPrinter.cpp 19 X86COFFMachineModuleInfo.cpp 20 X86CodeEmitter.cpp 21 X86ELFWriterInfo.cpp 22 X86FastISel.cpp 23 X86FloatingPoint.cpp 24 X86FrameLowering.cpp 25 X86ISelDAGToDAG.cpp 26 X86ISelLowering.cpp 27 X86InstrInfo.cpp 28 X86JITInfo.cpp 29 X86MachObjectWriter.cpp 30 X86MCCodeEmitter.cpp 31 X86MCInstLower.cpp 32 X86RegisterInfo.cpp 33 X86SelectionDAGInfo.cpp 34 X86Subtarget.cpp 35 X86TargetMachine.cpp 36 X86TargetObjectFile.cpp 37 ) 38 39 if( CMAKE_CL_64 ) 40 # A workaround for a bug in cmake 2.8.3. See PR 8885. 41 if( CMAKE_VERSION STREQUAL "2.8.3" ) 42 include(CMakeDetermineCompilerId) 43 endif() 44 # end of workaround. 45 enable_language(ASM_MASM) 46 ADD_CUSTOM_COMMAND( 47 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj 48 MAIN_DEPENDENCY X86CompilationCallback_Win64.asm 49 COMMAND ${CMAKE_ASM_MASM_COMPILER} /Fo ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj /c ${CMAKE_CURRENT_SOURCE_DIR}/X86CompilationCallback_Win64.asm 50 ) 51 set(sources ${sources} ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj) 52 endif() 53 54 add_llvm_target(X86CodeGen ${sources}) 55 56 add_subdirectory(AsmParser) 57 add_subdirectory(Disassembler) 58 add_subdirectory(InstPrinter) 59 add_subdirectory(MCTargetDesc) 60 add_subdirectory(TargetInfo) 61 add_subdirectory(Utils) 62