set(LLVM_TARGET_DEFINITIONS X86.td) llvm_tablegen(X86GenRegisterInfo.inc -gen-register-info) llvm_tablegen(X86GenDisassemblerTables.inc -gen-disassembler) llvm_tablegen(X86GenInstrInfo.inc -gen-instr-info) llvm_tablegen(X86GenAsmWriter.inc -gen-asm-writer) llvm_tablegen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1) llvm_tablegen(X86GenAsmMatcher.inc -gen-asm-matcher) llvm_tablegen(X86GenDAGISel.inc -gen-dag-isel) llvm_tablegen(X86GenFastISel.inc -gen-fast-isel) llvm_tablegen(X86GenCallingConv.inc -gen-callingconv) llvm_tablegen(X86GenSubtargetInfo.inc -gen-subtarget) llvm_tablegen(X86GenEDInfo.inc -gen-enhanced-disassembly-info) add_public_tablegen_target(X86CommonTableGen) set(sources X86AsmPrinter.cpp X86COFFMachineModuleInfo.cpp X86CodeEmitter.cpp X86ELFWriterInfo.cpp X86FastISel.cpp X86FloatingPoint.cpp X86FrameLowering.cpp X86ISelDAGToDAG.cpp X86ISelLowering.cpp X86InstrInfo.cpp X86JITInfo.cpp X86MCInstLower.cpp X86RegisterInfo.cpp X86SelectionDAGInfo.cpp X86Subtarget.cpp X86TargetMachine.cpp X86TargetObjectFile.cpp X86VZeroUpper.cpp ) if( CMAKE_CL_64 ) # A workaround for a bug in cmake 2.8.3. See PR 8885. if( CMAKE_VERSION STREQUAL "2.8.3" ) include(CMakeDetermineCompilerId) endif() # end of workaround. enable_language(ASM_MASM) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj MAIN_DEPENDENCY X86CompilationCallback_Win64.asm COMMAND ${CMAKE_ASM_MASM_COMPILER} /Fo ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj /c ${CMAKE_CURRENT_SOURCE_DIR}/X86CompilationCallback_Win64.asm ) set(sources ${sources} ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj) endif() add_llvm_target(X86CodeGen ${sources}) add_llvm_library_dependencies(LLVMX86CodeGen LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMX86AsmPrinter LLVMX86Desc ) add_subdirectory(AsmParser) add_subdirectory(Disassembler) add_subdirectory(InstPrinter) add_subdirectory(MCTargetDesc) add_subdirectory(TargetInfo) add_subdirectory(Utils)