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