blob: d14899d28a2356acdf74ec8fd604b97af53ff6d9 [file] [log] [blame]
Oscar Fuentescdc95492008-09-26 04:40:32 +00001set(LLVM_TARGET_DEFINITIONS X86.td)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00002
Daniel Dunbar4a9c6422011-11-04 19:04:23 +00003tablegen(LLVM X86GenRegisterInfo.inc -gen-register-info)
4tablegen(LLVM X86GenDisassemblerTables.inc -gen-disassembler)
5tablegen(LLVM X86GenInstrInfo.inc -gen-instr-info)
6tablegen(LLVM X86GenAsmWriter.inc -gen-asm-writer)
7tablegen(LLVM X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
8tablegen(LLVM X86GenAsmMatcher.inc -gen-asm-matcher)
9tablegen(LLVM X86GenDAGISel.inc -gen-dag-isel)
10tablegen(LLVM X86GenFastISel.inc -gen-fast-isel)
11tablegen(LLVM X86GenCallingConv.inc -gen-callingconv)
12tablegen(LLVM X86GenSubtargetInfo.inc -gen-subtarget)
Chandler Carruth97c069c2011-07-26 00:09:08 +000013add_public_tablegen_target(X86CommonTableGen)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000014
Oscar Fuentesbcbae012009-08-12 15:54:28 +000015set(sources
Daniel Dunbar0aff8032010-07-20 00:08:13 +000016 X86AsmPrinter.cpp
Chris Lattner17ec6b12009-09-20 06:45:52 +000017 X86COFFMachineModuleInfo.cpp
Daniel Dunbar0aff8032010-07-20 00:08:13 +000018 X86CodeEmitter.cpp
Daniel Dunbar0aff8032010-07-20 00:08:13 +000019 X86FastISel.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000020 X86FloatingPoint.cpp
Anton Korobeynikov441ae5b2011-01-10 12:39:23 +000021 X86FrameLowering.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000022 X86ISelDAGToDAG.cpp
23 X86ISelLowering.cpp
24 X86InstrInfo.cpp
25 X86JITInfo.cpp
Daniel Dunbar0aff8032010-07-20 00:08:13 +000026 X86MCInstLower.cpp
Chandler Carruthe805b162011-12-20 08:42:11 +000027 X86MachineFunctionInfo.cpp
Preston Gurda01daac2013-01-08 18:27:24 +000028 X86PadShortFunction.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000029 X86RegisterInfo.cpp
Daniel Dunbar0aff8032010-07-20 00:08:13 +000030 X86SelectionDAGInfo.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000031 X86Subtarget.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000032 X86TargetMachine.cpp
Shantonu Senb15840a2009-09-16 04:44:00 +000033 X86TargetObjectFile.cpp
Chandler Carruth664e3542013-01-07 01:37:14 +000034 X86TargetTransformInfo.cpp
Bruno Cardoso Lopes2a3ffb52011-08-23 01:14:17 +000035 X86VZeroUpper.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000036 )
Douglas Gregor61415112009-07-02 18:53:52 +000037
Oscar Fuentes6b5cb8a2009-08-14 19:56:04 +000038if( CMAKE_CL_64 )
Oscar Fuentes68b7bb92011-01-02 19:32:31 +000039 # A workaround for a bug in cmake 2.8.3. See PR 8885.
40 if( CMAKE_VERSION STREQUAL "2.8.3" )
41 include(CMakeDetermineCompilerId)
42 endif()
43 # end of workaround.
Oscar Fuentesbcbae012009-08-12 15:54:28 +000044 enable_language(ASM_MASM)
Oscar Fuentes82135e52010-05-13 19:34:06 +000045 ADD_CUSTOM_COMMAND(
46 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj
Oscar Fuentes4e61b092010-11-16 22:07:47 +000047 MAIN_DEPENDENCY X86CompilationCallback_Win64.asm
Oscar Fuentes82135e52010-05-13 19:34:06 +000048 COMMAND ${CMAKE_ASM_MASM_COMPILER} /Fo ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj /c ${CMAKE_CURRENT_SOURCE_DIR}/X86CompilationCallback_Win64.asm
Oscar Fuentes82135e52010-05-13 19:34:06 +000049 )
Oscar Fuentesa8eb6042010-12-31 20:15:37 +000050 set(sources ${sources} ${CMAKE_CURRENT_BINARY_DIR}/X86CompilationCallback_Win64.obj)
Oscar Fuentesbcbae012009-08-12 15:54:28 +000051endif()
52
53add_llvm_target(X86CodeGen ${sources})
Michael J. Spencer93c9b2e2010-09-13 23:59:48 +000054
NAKAMURA Takumi704de072012-06-24 13:32:01 +000055add_dependencies(LLVMX86CodeGen intrinsics_gen)
56
Oscar Fuentesba1186c2011-02-20 02:55:27 +000057add_subdirectory(AsmParser)
58add_subdirectory(Disassembler)
59add_subdirectory(InstPrinter)
Evan Cheng3b960ac2011-06-24 23:53:19 +000060add_subdirectory(MCTargetDesc)
Oscar Fuentesba1186c2011-02-20 02:55:27 +000061add_subdirectory(TargetInfo)
62add_subdirectory(Utils)