forked from OSchip/llvm-project
63 lines
1.9 KiB
CMake
63 lines
1.9 KiB
CMake
set(LLVM_TARGET_DEFINITIONS X86.td)
|
|
|
|
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)
|
|
add_public_tablegen_target(X86CommonTableGen)
|
|
|
|
set(sources
|
|
X86AsmPrinter.cpp
|
|
X86COFFMachineModuleInfo.cpp
|
|
X86CodeEmitter.cpp
|
|
X86FastISel.cpp
|
|
X86FloatingPoint.cpp
|
|
X86FrameLowering.cpp
|
|
X86ISelDAGToDAG.cpp
|
|
X86ISelLowering.cpp
|
|
X86InstrInfo.cpp
|
|
X86JITInfo.cpp
|
|
X86MCInstLower.cpp
|
|
X86MachineFunctionInfo.cpp
|
|
X86PadShortFunction.cpp
|
|
X86RegisterInfo.cpp
|
|
X86SelectionDAGInfo.cpp
|
|
X86Subtarget.cpp
|
|
X86TargetMachine.cpp
|
|
X86TargetObjectFile.cpp
|
|
X86TargetTransformInfo.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_dependencies(LLVMX86CodeGen intrinsics_gen)
|
|
|
|
add_subdirectory(AsmParser)
|
|
add_subdirectory(Disassembler)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(MCTargetDesc)
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(Utils)
|