blob: 055b0f047c15eb5ab22540eec17a7911541df389 [file] [log] [blame]
Michael Kupersteine86aa9a2015-02-01 16:15:07 +00001set(LLVM_TARGET_DEFINITIONS X86.td)
2
3tablegen(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)
Igor Bregerb4442f32017-02-10 07:05:56 +000013if(LLVM_BUILD_GLOBAL_ISEL)
14 tablegen(LLVM X86GenRegisterBank.inc -gen-register-bank)
Igor Bregerf7359d82017-02-22 12:25:09 +000015 tablegen(LLVM X86GenGlobalISel.inc -gen-global-isel)
Igor Bregerb4442f32017-02-10 07:05:56 +000016endif()
17
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000018add_public_tablegen_target(X86CommonTableGen)
19
Zvi Rackover76dbf262016-11-15 06:34:33 +000020# Add GlobalISel files if the build option was enabled.
21set(GLOBAL_ISEL_FILES
22 X86CallLowering.cpp
Igor Bregerb4442f32017-02-10 07:05:56 +000023 X86LegalizerInfo.cpp
24 X86RegisterBankInfo.cpp
Igor Bregerf7359d82017-02-22 12:25:09 +000025 X86InstructionSelector.cpp
Zvi Rackover76dbf262016-11-15 06:34:33 +000026 )
27
28if(LLVM_BUILD_GLOBAL_ISEL)
29 set(GLOBAL_ISEL_BUILD_FILES ${GLOBAL_ISEL_FILES})
30else()
31 set(GLOBAL_ISEL_BUILD_FILES "")
32 set(LLVM_OPTIONAL_SOURCES LLVMGlobalISel ${GLOBAL_ISEL_FILES})
33endif()
34
35
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000036set(sources
37 X86AsmPrinter.cpp
Michael Kuperstein13fbd452015-02-01 16:56:04 +000038 X86CallFrameOptimization.cpp
Quentin Colombet494eb602015-05-22 18:10:47 +000039 X86ExpandPseudo.cpp
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000040 X86FastISel.cpp
Michael Kuperstein85de98f2016-06-28 17:11:15 +000041 X86FixupBWInsts.cpp
42 X86FixupLEAs.cpp
Michael Kuperstein3e3652a2016-07-07 22:50:23 +000043 X86FixupSetCC.cpp
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000044 X86FloatingPoint.cpp
45 X86FrameLowering.cpp
46 X86ISelDAGToDAG.cpp
47 X86ISelLowering.cpp
David L Kreitzer01a057a2016-10-14 18:20:41 +000048 X86InterleavedAccess.cpp
Vyacheslav Klochkov6daefcf2016-08-11 22:07:33 +000049 X86InstrFMA3Info.cpp
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000050 X86InstrInfo.cpp
Gadi Haber19c4fc52016-12-28 10:12:48 +000051 X86EvexToVex.cpp
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000052 X86MCInstLower.cpp
53 X86MachineFunctionInfo.cpp
Evandro Menezes94edf022017-02-01 02:54:34 +000054 X86MacroFusion.cpp
Michael Kuperstein85de98f2016-06-28 17:11:15 +000055 X86OptimizeLEAs.cpp
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000056 X86PadShortFunction.cpp
57 X86RegisterInfo.cpp
58 X86SelectionDAGInfo.cpp
Craig Topper69653af2015-12-31 22:40:45 +000059 X86ShuffleDecodeConstantPool.cpp
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000060 X86Subtarget.cpp
61 X86TargetMachine.cpp
62 X86TargetObjectFile.cpp
63 X86TargetTransformInfo.cpp
64 X86VZeroUpper.cpp
Hans Wennborg8eb336c2016-05-18 16:10:17 +000065 X86WinAllocaExpander.cpp
Michael Kuperstein85de98f2016-06-28 17:11:15 +000066 X86WinEHState.cpp
Oren Ben Simhon489d6ef2016-11-17 09:59:40 +000067 X86CallingConv.cpp
Zvi Rackover76dbf262016-11-15 06:34:33 +000068 ${GLOBAL_ISEL_BUILD_FILES}
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000069 )
70
Michael Kupersteine86aa9a2015-02-01 16:15:07 +000071add_llvm_target(X86CodeGen ${sources})
72
73add_subdirectory(AsmParser)
74add_subdirectory(Disassembler)
75add_subdirectory(InstPrinter)
76add_subdirectory(MCTargetDesc)
77add_subdirectory(TargetInfo)
78add_subdirectory(Utils)