X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FX86%2FCMakeLists.txt;h=b886d46501b426e6d5406a09eeb9acf5bd926cf6;hb=fd8d62c0b449b9070dc18355ac243c7fa78d40d6;hp=5b7900334dbd7df09aa6fbc6fb7fb8edd0ecb357;hpb=1d8e4cfdb71d7055561a130a5844c5d093aa5ee8;p=oota-llvm.git diff --git a/lib/Target/X86/CMakeLists.txt b/lib/Target/X86/CMakeLists.txt index 5b7900334db..b886d46501b 100644 --- a/lib/Target/X86/CMakeLists.txt +++ b/lib/Target/X86/CMakeLists.txt @@ -1,57 +1,62 @@ -macro(x86tgen ofn) - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn} - COMMAND tblgen ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR} -I ${CMAKE_SOURCE_DIR}/lib/Target -I ${llvm_include_path} ${CMAKE_CURRENT_SOURCE_DIR}/X86.td -o ${ofn} - DEPENDS tblgen ${CMAKE_CURRENT_SOURCE_DIR}/X86.td - COMMENT "Building ${ofn}..." - ) -endmacro(x86tgen) +set(LLVM_TARGET_DEFINITIONS X86.td) -x86tgen(X86GenRegisterInfo.h.inc -gen-register-desc-header) -x86tgen(X86GenRegisterNames.inc -gen-register-enums) -x86tgen(X86GenRegisterInfo.inc -gen-register-desc) -x86tgen(X86GenInstrNames.inc -gen-instr-enums) -x86tgen(X86GenInstrInfo.inc -gen-instr-desc) -x86tgen(X86GenAsmWriter.inc -gen-asm-writer) -x86tgen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1) -x86tgen(X86GenDAGISel.inc -gen-dag-isel) -x86tgen(X86GenFastISel.inc -gen-fast-isel) -x86tgen(X86GenCallingConv.inc -gen-callingconv) -x86tgen(X86GenSubtarget.inc -gen-subtarget) +tablegen(LLVM X86GenRegisterInfo.inc -gen-register-info) +tablegen(LLVM X86GenDisassemblerTables.inc -gen-disassembler) +tablegen(LLVM X86GenInstrInfo.inc -gen-instr-info) +tablegen(LLVM X86GenAsmWriter.inc -gen-asm-writer) +tablegen(LLVM X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1) +tablegen(LLVM X86GenAsmMatcher.inc -gen-asm-matcher) +tablegen(LLVM X86GenDAGISel.inc -gen-dag-isel) +tablegen(LLVM X86GenFastISel.inc -gen-fast-isel) +tablegen(LLVM X86GenCallingConv.inc -gen-callingconv) +tablegen(LLVM X86GenSubtargetInfo.inc -gen-subtarget) +tablegen(LLVM X86GenEDInfo.inc -gen-enhanced-disassembly-info) +add_public_tablegen_target(X86CommonTableGen) -add_custom_target(X86Table_gen echo Tablegenning - DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/X86GenRegisterInfo.h.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenRegisterNames.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenRegisterInfo.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenInstrNames.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenInstrInfo.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenAsmWriter.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenAsmWriter1.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenDAGISel.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenFastISel.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenCallingConv.inc - ${CMAKE_CURRENT_BINARY_DIR}/X86GenSubtarget.inc - ) - -add_dependencies(X86Table_gen ${LLVM_COMMON_DEPENDS}) - -include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) - -add_partially_linked_object(LLVMX86CodeGen +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 + X86MachineFunctionInfo.cpp X86RegisterInfo.cpp + X86SelectionDAGInfo.cpp X86Subtarget.cpp - X86TargetAsmInfo.cpp X86TargetMachine.cpp - X86FastISel.cpp + X86TargetObjectFile.cpp + X86VZeroUpper.cpp ) -add_dependencies(LLVMX86CodeGen - X86Table_gen -) +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_dependencies(LLVMX86CodeGen intrinsics_gen) + +add_subdirectory(AsmParser) +add_subdirectory(Disassembler) +add_subdirectory(InstPrinter) +add_subdirectory(MCTargetDesc) +add_subdirectory(TargetInfo) +add_subdirectory(Utils)