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