xref: /llvm-project/llvm/lib/Target/X86/CMakeLists.txt (revision 854bbc50fc99ddf71c4c65193e06eb79ce1ef69f)
1add_llvm_component_group(X86 HAS_JIT)
2
3set(LLVM_TARGET_DEFINITIONS X86.td)
4
5tablegen(LLVM X86GenAsmMatcher.inc -gen-asm-matcher)
6tablegen(LLVM X86GenAsmWriter.inc -gen-asm-writer)
7tablegen(LLVM X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
8tablegen(LLVM X86GenCallingConv.inc -gen-callingconv)
9tablegen(LLVM X86GenDAGISel.inc -gen-dag-isel)
10tablegen(LLVM X86GenDisassemblerTables.inc -gen-disassembler)
11tablegen(LLVM X86GenInstrMapping.inc -gen-x86-instr-mapping)
12tablegen(LLVM X86GenExegesis.inc -gen-exegesis)
13tablegen(LLVM X86GenFastISel.inc -gen-fast-isel)
14tablegen(LLVM X86GenGlobalISel.inc -gen-global-isel)
15tablegen(LLVM X86GenInstrInfo.inc -gen-instr-info
16                                  -instr-info-expand-mi-operand-info=0)
17tablegen(LLVM X86GenMnemonicTables.inc -gen-x86-mnemonic-tables -asmwriternum=1)
18tablegen(LLVM X86GenRegisterBank.inc -gen-register-bank)
19tablegen(LLVM X86GenRegisterInfo.inc -gen-register-info)
20tablegen(LLVM X86GenSubtargetInfo.inc -gen-subtarget)
21tablegen(LLVM X86GenFoldTables.inc -gen-x86-fold-tables -asmwriternum=1)
22
23add_public_tablegen_target(X86CommonTableGen)
24
25set(sources
26  X86ArgumentStackSlotRebase.cpp
27  X86AsmPrinter.cpp
28  X86AvoidTrailingCall.cpp
29  X86CallFrameOptimization.cpp
30  X86CallingConv.cpp
31  X86CmovConversion.cpp
32  X86CodeGenPassBuilder.cpp
33  X86DomainReassignment.cpp
34  X86DiscriminateMemOps.cpp
35  X86LowerTileCopy.cpp
36  X86LowerAMXType.cpp
37  X86LowerAMXIntrinsics.cpp
38  X86TileConfig.cpp
39  X86FastPreTileConfig.cpp
40  X86FastTileConfig.cpp
41  X86PreTileConfig.cpp
42  X86ExpandPseudo.cpp
43  X86FastISel.cpp
44  X86FixupBWInsts.cpp
45  X86FixupLEAs.cpp
46  X86FixupInstTuning.cpp
47  X86FixupVectorConstants.cpp
48  X86AvoidStoreForwardingBlocks.cpp
49  X86DynAllocaExpander.cpp
50  X86FixupSetCC.cpp
51  X86FlagsCopyLowering.cpp
52  X86FloatingPoint.cpp
53  X86FrameLowering.cpp
54  X86ISelDAGToDAG.cpp
55  X86ISelLowering.cpp
56  X86ISelLoweringCall.cpp
57  X86IndirectBranchTracking.cpp
58  X86IndirectThunks.cpp
59  X86InterleavedAccess.cpp
60  X86InsertPrefetch.cpp
61  X86InstCombineIntrinsic.cpp
62  X86InstrFMA3Info.cpp
63  X86InstrFoldTables.cpp
64  X86InstrInfo.cpp
65  X86CompressEVEX.cpp
66  X86LoadValueInjectionLoadHardening.cpp
67  X86LoadValueInjectionRetHardening.cpp
68  X86MCInstLower.cpp
69  X86MachineFunctionInfo.cpp
70  X86MacroFusion.cpp
71  X86OptimizeLEAs.cpp
72  X86PadShortFunction.cpp
73  X86PartialReduction.cpp
74  X86RegisterInfo.cpp
75  X86ReturnThunks.cpp
76  X86SelectionDAGInfo.cpp
77  X86ShuffleDecodeConstantPool.cpp
78  X86SpeculativeLoadHardening.cpp
79  X86SpeculativeExecutionSideEffectSuppression.cpp
80  X86Subtarget.cpp
81  X86TargetMachine.cpp
82  X86TargetObjectFile.cpp
83  X86TargetTransformInfo.cpp
84  X86VZeroUpper.cpp
85  X86WinEHState.cpp
86  X86WinFixupBufferSecurityCheck.cpp
87  X86InsertWait.cpp
88  GISel/X86CallLowering.cpp
89  GISel/X86InstructionSelector.cpp
90  GISel/X86LegalizerInfo.cpp
91  GISel/X86RegisterBankInfo.cpp
92  )
93
94add_llvm_target(X86CodeGen ${sources}
95  LINK_COMPONENTS
96  Analysis
97  AsmPrinter
98  CFGuard
99  CodeGen
100  CodeGenTypes
101  Core
102  GlobalISel
103  IRPrinter
104  Instrumentation
105  MC
106  ProfileData
107  Scalar
108  SelectionDAG
109  Support
110  Target
111  TargetParser
112  TransformUtils
113  X86Desc
114  X86Info
115
116  ADD_TO_COMPONENT
117  X86
118  )
119
120add_subdirectory(AsmParser)
121add_subdirectory(Disassembler)
122add_subdirectory(MCA)
123add_subdirectory(MCTargetDesc)
124add_subdirectory(TargetInfo)
125