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 X86FixupLEAs.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_dependencies(LLVMX86CodeGen X86CommonTableGen intrinsics_gen) 57 58 add_subdirectory(AsmParser) 59 add_subdirectory(Disassembler) 60 add_subdirectory(InstPrinter) 61 add_subdirectory(MCTargetDesc) 62 add_subdirectory(TargetInfo) 63 add_subdirectory(Utils) 64