summaryrefslogtreecommitdiff
path: root/lib/Target/X86/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/CMakeLists.txt')
-rw-r--r--lib/Target/X86/CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/Target/X86/CMakeLists.txt b/lib/Target/X86/CMakeLists.txt
new file mode 100644
index 0000000000..de8ff2cd5d
--- /dev/null
+++ b/lib/Target/X86/CMakeLists.txt
@@ -0,0 +1,56 @@
+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)
+
+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)
+
+add_custom_target(X86Table_gen echo Tablegenning
+ DEPENDS
+ ${llvm_builded_incs_dir}/Intrinsics.gen
+ ${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
+ )
+
+include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+
+add_partially_linked_object(LLVMX86CodeGen
+ X86CodeEmitter.cpp
+ X86ELFWriterInfo.cpp
+ X86FloatingPoint.cpp
+ X86ISelDAGToDAG.cpp
+ X86ISelLowering.cpp
+ X86InstrInfo.cpp
+ X86JITInfo.cpp
+ X86RegisterInfo.cpp
+ X86Subtarget.cpp
+ X86TargetAsmInfo.cpp
+ X86TargetMachine.cpp
+ X86FastISel.cpp
+ )
+
+add_dependencies(LLVMX86CodeGen
+ X86Table_gen
+)