[AMDGPU][AsmParser][NFC] Translate parsed MIMG instructions to MCInsts automatically.
[llvm-project.git] / llvm / lib / CodeGen / CMakeLists.txt
blob106571b9061bebd5aaa8cd446005d5fbf4e86648
1 if (DEFINED LLVM_HAVE_TF_AOT OR LLVM_HAVE_TFLITE)
2   include(TensorFlowCompile)
3   set(LLVM_RAEVICT_MODEL_PATH_DEFAULT "models/regalloc-eviction")
5   set(LLVM_RAEVICT_MODEL_CURRENT_URL "<UNSPECIFIED>" CACHE STRING "URL to download the LLVM register allocator eviction model")
7   if (DEFINED LLVM_HAVE_TF_AOT)
8     tf_find_and_compile(
9       ${LLVM_RAEVICT_MODEL_PATH}
10       ${LLVM_RAEVICT_MODEL_CURRENT_URL}
11       ${LLVM_RAEVICT_MODEL_PATH_DEFAULT}
12       "../Analysis/models/gen-regalloc-eviction-test-model.py"
13       serve
14       action
15       RegallocEvictModel
16       llvm::RegallocEvictModel
17     )
18   endif()
20   if (LLVM_HAVE_TFLITE)
21     list(APPEND MLLinkDeps ${tensorflow_c_api} ${tensorflow_fx})
22   endif()
23 endif()
25 # This provides the implementation of MVT and LLT.
26 # Be careful to append deps on this, since Targets' tablegens depend on this.
27 add_llvm_component_library(LLVMCodeGenTypes
28   LowLevelType.cpp
29   PARTIAL_SOURCES_INTENDED
31   DEPENDS
32   vt_gen
34   LINK_COMPONENTS
35   Support
36   )
38 add_llvm_component_library(LLVMCodeGen
39   AggressiveAntiDepBreaker.cpp
40   AllocationOrder.cpp
41   Analysis.cpp
42   AssignmentTrackingAnalysis.cpp
43   AtomicExpandPass.cpp
44   BasicTargetTransformInfo.cpp
45   BranchFolding.cpp
46   BranchRelaxation.cpp
47   BreakFalseDeps.cpp
48   BasicBlockSections.cpp
49   BasicBlockSectionsProfileReader.cpp
50   CalcSpillWeights.cpp
51   CallBrPrepare.cpp
52   CallingConvLower.cpp
53   CFGuardLongjmp.cpp
54   CFIFixup.cpp
55   CFIInstrInserter.cpp
56   CodeGen.cpp
57   CodeGenCommonISel.cpp
58   CodeGenPassBuilder.cpp
59   CodeGenPrepare.cpp
60   CommandFlags.cpp
61   ComplexDeinterleavingPass.cpp
62   CriticalAntiDepBreaker.cpp
63   DeadMachineInstructionElim.cpp
64   DetectDeadLanes.cpp
65   DFAPacketizer.cpp
66   DwarfEHPrepare.cpp
67   EarlyIfConversion.cpp
68   EdgeBundles.cpp
69   EHContGuardCatchret.cpp
70   ExecutionDomainFix.cpp
71   ExpandLargeDivRem.cpp
72   ExpandLargeFpConvert.cpp
73   ExpandMemCmp.cpp
74   ExpandPostRAPseudos.cpp
75   ExpandReductions.cpp
76   ExpandVectorPredication.cpp
77   FaultMaps.cpp
78   FEntryInserter.cpp
79   FinalizeISel.cpp
80   FixupStatepointCallerSaved.cpp
81   FuncletLayout.cpp
82   GCMetadata.cpp
83   GCMetadataPrinter.cpp
84   GCRootLowering.cpp
85   GlobalMerge.cpp
86   HardwareLoops.cpp
87   IfConversion.cpp
88   ImplicitNullChecks.cpp
89   IndirectBrExpandPass.cpp
90   InlineSpiller.cpp
91   InterferenceCache.cpp
92   InterleavedAccessPass.cpp
93   InterleavedLoadCombinePass.cpp
94   IntrinsicLowering.cpp
95   JMCInstrumenter.cpp
96   KCFI.cpp
97   LatencyPriorityQueue.cpp
98   LazyMachineBlockFrequencyInfo.cpp
99   LexicalScopes.cpp
100   LiveDebugVariables.cpp
101   LiveIntervals.cpp
102   LiveInterval.cpp
103   LiveIntervalUnion.cpp
104   LivePhysRegs.cpp
105   LiveRangeCalc.cpp
106   LiveIntervalCalc.cpp
107   LiveRangeEdit.cpp
108   LiveRangeShrink.cpp
109   LiveRegMatrix.cpp
110   LiveRegUnits.cpp
111   LiveStacks.cpp
112   LiveVariables.cpp
113   LLVMTargetMachine.cpp
114   LocalStackSlotAllocation.cpp
115   LoopTraversal.cpp
116   LowLevelTypeUtils.cpp
117   LowerEmuTLS.cpp
118   MachineBasicBlock.cpp
119   MachineBlockFrequencyInfo.cpp
120   MachineBlockPlacement.cpp
121   MachineBranchProbabilityInfo.cpp
122   MachineCFGPrinter.cpp
123   MachineCombiner.cpp
124   MachineCopyPropagation.cpp
125   MachineCSE.cpp
126   MachineCheckDebugify.cpp
127   MachineCycleAnalysis.cpp
128   MachineDebugify.cpp
129   MachineDominanceFrontier.cpp
130   MachineDominators.cpp
131   MachineFrameInfo.cpp
132   MachineFunction.cpp
133   MachineFunctionPass.cpp
134   MachineFunctionPrinterPass.cpp
135   MachineFunctionSplitter.cpp
136   MachineInstrBundle.cpp
137   MachineInstr.cpp
138   MachineLateInstrsCleanup.cpp
139   MachineLICM.cpp
140   MachineLoopInfo.cpp
141   MachineLoopUtils.cpp
142   MachineModuleInfo.cpp
143   MachineModuleInfoImpls.cpp
144   MachineModuleSlotTracker.cpp
145   MachineOperand.cpp
146   MachineOptimizationRemarkEmitter.cpp
147   MachineOutliner.cpp
148   MachinePassManager.cpp
149   MachinePipeliner.cpp
150   MachinePostDominators.cpp
151   MachineRegionInfo.cpp
152   MachineRegisterInfo.cpp
153   MachineScheduler.cpp
154   MachineSink.cpp
155   MachineSizeOpts.cpp
156   MachineSSAContext.cpp
157   MachineSSAUpdater.cpp
158   MachineStripDebug.cpp
159   MachineTraceMetrics.cpp
160   MachineUniformityAnalysis.cpp
161   MachineVerifier.cpp
162   MIRFSDiscriminator.cpp
163   MIRSampleProfile.cpp
164   MIRYamlMapping.cpp
165   MLRegallocEvictAdvisor.cpp
166   MLRegallocPriorityAdvisor.cpp
167   ModuloSchedule.cpp
168   MultiHazardRecognizer.cpp
169   PatchableFunction.cpp
170   MBFIWrapper.cpp
171   MIRPrinter.cpp
172   MIRPrintingPass.cpp
173   MacroFusion.cpp
174   NonRelocatableStringpool.cpp
175   OptimizePHIs.cpp
176   ParallelCG.cpp
177   PeepholeOptimizer.cpp
178   PHIElimination.cpp
179   PHIEliminationUtils.cpp
180   PostRAHazardRecognizer.cpp
181   PostRASchedulerList.cpp
182   PreISelIntrinsicLowering.cpp
183   ProcessImplicitDefs.cpp
184   PrologEpilogInserter.cpp
185   PseudoProbeInserter.cpp
186   PseudoSourceValue.cpp
187   RDFGraph.cpp
188   RDFLiveness.cpp
189   RDFRegisters.cpp
190   ReachingDefAnalysis.cpp
191   RegAllocBase.cpp
192   RegAllocBasic.cpp
193   RegAllocEvictionAdvisor.cpp
194   RegAllocFast.cpp
195   RegAllocGreedy.cpp
196   RegAllocPBQP.cpp
197   RegAllocPriorityAdvisor.cpp
198   RegAllocScore.cpp
199   RegisterClassInfo.cpp
200   RegisterCoalescer.cpp
201   RegisterPressure.cpp
202   RegisterScavenging.cpp
203   RemoveRedundantDebugValues.cpp
204   RenameIndependentSubregs.cpp
205   MachineStableHash.cpp
206   MIRVRegNamerUtils.cpp
207   MIRNamerPass.cpp
208   MIRCanonicalizerPass.cpp
209   RegisterUsageInfo.cpp
210   RegUsageInfoCollector.cpp
211   RegUsageInfoPropagate.cpp
212   ReplaceWithVeclib.cpp
213   ResetMachineFunctionPass.cpp
214   RegisterBank.cpp
215   RegisterBankInfo.cpp
216   SafeStack.cpp
217   SafeStackLayout.cpp
218   SanitizerBinaryMetadata.cpp
219   ScheduleDAG.cpp
220   ScheduleDAGInstrs.cpp
221   ScheduleDAGPrinter.cpp
222   ScoreboardHazardRecognizer.cpp
223   SelectOptimize.cpp
224   ShadowStackGCLowering.cpp
225   ShrinkWrap.cpp
226   SjLjEHPrepare.cpp
227   SlotIndexes.cpp
228   SpillPlacement.cpp
229   SplitKit.cpp
230   StackColoring.cpp
231   StackFrameLayoutAnalysisPass.cpp
232   StackMapLivenessAnalysis.cpp
233   StackMaps.cpp
234   StackProtector.cpp
235   StackSlotColoring.cpp
236   SwiftErrorValueTracking.cpp
237   SwitchLoweringUtils.cpp
238   TailDuplication.cpp
239   TailDuplicator.cpp
240   TargetFrameLoweringImpl.cpp
241   TargetInstrInfo.cpp
242   TargetLoweringBase.cpp
243   TargetLoweringObjectFileImpl.cpp
244   TargetOptionsImpl.cpp
245   TargetPassConfig.cpp
246   TargetRegisterInfo.cpp
247   TargetSchedule.cpp
248   TargetSubtargetInfo.cpp
249   TwoAddressInstructionPass.cpp
250   TypePromotion.cpp
251   UnreachableBlockElim.cpp
252   ValueTypes.cpp
253   VLIWMachineScheduler.cpp
254   VirtRegMap.cpp
255   WasmEHPrepare.cpp
256   WinEHPrepare.cpp
257   XRayInstrumentation.cpp
258   ${GeneratedMLSources}
260   LiveDebugValues/LiveDebugValues.cpp
261   LiveDebugValues/VarLocBasedImpl.cpp
262   LiveDebugValues/InstrRefBasedImpl.cpp
264   ADDITIONAL_HEADER_DIRS
265   ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
266   ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
268   LINK_LIBS ${LLVM_PTHREAD_LIB} ${MLLinkDeps}
270   DEPENDS
271   intrinsics_gen
272   ${MLDeps}
274   LINK_COMPONENTS
275   Analysis
276   BitReader
277   BitWriter
278   CodeGenTypes
279   Core
280   MC
281   ObjCARC
282   ProfileData
283   Scalar
284   Support
285   Target
286   TargetParser
287   TransformUtils
288   )
290 add_subdirectory(SelectionDAG)
291 add_subdirectory(AsmPrinter)
292 add_subdirectory(MIRParser)
293 add_subdirectory(GlobalISel)