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)
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"
16 llvm::RegAllocEvictModel
21 list(APPEND MLLinkDeps ${tensorflow_c_api} ${tensorflow_fx})
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
29 PARTIAL_SOURCES_INTENDED
38 add_llvm_component_library(LLVMCodeGen
39 AggressiveAntiDepBreaker.cpp
42 AssignmentTrackingAnalysis.cpp
44 BasicTargetTransformInfo.cpp
48 BasicBlockSections.cpp
49 BasicBlockPathCloning.cpp
50 BasicBlockSectionsProfileReader.cpp
59 CodeGenPassBuilder.cpp
62 ComplexDeinterleavingPass.cpp
63 CriticalAntiDepBreaker.cpp
64 DeadMachineInstructionElim.cpp
70 EHContGuardCatchret.cpp
71 ExecutionDomainFix.cpp
73 ExpandLargeFpConvert.cpp
75 ExpandPostRAPseudos.cpp
77 ExpandVectorPredication.cpp
81 FixupStatepointCallerSaved.cpp
89 ImplicitNullChecks.cpp
90 IndirectBrExpandPass.cpp
93 InterleavedAccessPass.cpp
94 InterleavedLoadCombinePass.cpp
98 LatencyPriorityQueue.cpp
99 LazyMachineBlockFrequencyInfo.cpp
101 LiveDebugVariables.cpp
104 LiveIntervalUnion.cpp
114 LLVMTargetMachine.cpp
115 LocalStackSlotAllocation.cpp
117 LowLevelTypeUtils.cpp
119 MachineBasicBlock.cpp
120 MachineBlockFrequencyInfo.cpp
121 MachineBlockPlacement.cpp
122 MachineBranchProbabilityInfo.cpp
123 MachineCFGPrinter.cpp
125 MachineCopyPropagation.cpp
127 MachineCheckDebugify.cpp
128 MachineCycleAnalysis.cpp
130 MachineDominanceFrontier.cpp
131 MachineDominators.cpp
134 MachineFunctionPass.cpp
135 MachineFunctionPrinterPass.cpp
136 MachineFunctionSplitter.cpp
137 MachineInstrBundle.cpp
139 MachineLateInstrsCleanup.cpp
143 MachineModuleInfo.cpp
144 MachineModuleInfoImpls.cpp
145 MachineModuleSlotTracker.cpp
147 MachineOptimizationRemarkEmitter.cpp
149 MachinePassManager.cpp
151 MachinePostDominators.cpp
152 MachineRegionInfo.cpp
153 MachineRegisterInfo.cpp
157 MachineSSAContext.cpp
158 MachineSSAUpdater.cpp
159 MachineStripDebug.cpp
160 MachineTraceMetrics.cpp
161 MachineUniformityAnalysis.cpp
163 MIRFSDiscriminator.cpp
166 MLRegAllocEvictAdvisor.cpp
167 MLRegAllocPriorityAdvisor.cpp
169 MultiHazardRecognizer.cpp
170 PatchableFunction.cpp
175 NonRelocatableStringpool.cpp
178 PeepholeOptimizer.cpp
180 PHIEliminationUtils.cpp
181 PostRAHazardRecognizer.cpp
182 PostRASchedulerList.cpp
183 PreISelIntrinsicLowering.cpp
184 ProcessImplicitDefs.cpp
185 PrologEpilogInserter.cpp
186 PseudoProbeInserter.cpp
187 PseudoSourceValue.cpp
191 ReachingDefAnalysis.cpp
194 RegAllocEvictionAdvisor.cpp
198 RegAllocPriorityAdvisor.cpp
200 RegisterClassInfo.cpp
201 RegisterCoalescer.cpp
203 RegisterScavenging.cpp
204 GCEmptyBasicBlocks.cpp
205 RemoveRedundantDebugValues.cpp
206 RenameIndependentSubregs.cpp
207 MachineStableHash.cpp
208 MIRVRegNamerUtils.cpp
210 MIRCanonicalizerPass.cpp
211 RegisterUsageInfo.cpp
212 RegUsageInfoCollector.cpp
213 RegUsageInfoPropagate.cpp
214 ReplaceWithVeclib.cpp
215 ResetMachineFunctionPass.cpp
220 SanitizerBinaryMetadata.cpp
222 ScheduleDAGInstrs.cpp
223 ScheduleDAGPrinter.cpp
224 ScoreboardHazardRecognizer.cpp
226 ShadowStackGCLowering.cpp
233 StackFrameLayoutAnalysisPass.cpp
234 StackMapLivenessAnalysis.cpp
237 StackSlotColoring.cpp
238 SwiftErrorValueTracking.cpp
239 SwitchLoweringUtils.cpp
242 TargetFrameLoweringImpl.cpp
244 TargetLoweringBase.cpp
245 TargetLoweringObjectFileImpl.cpp
246 TargetOptionsImpl.cpp
248 TargetRegisterInfo.cpp
250 TargetSubtargetInfo.cpp
251 TwoAddressInstructionPass.cpp
253 UnreachableBlockElim.cpp
255 VLIWMachineScheduler.cpp
259 XRayInstrumentation.cpp
260 ${GeneratedMLSources}
262 LiveDebugValues/LiveDebugValues.cpp
263 LiveDebugValues/VarLocBasedImpl.cpp
264 LiveDebugValues/InstrRefBasedImpl.cpp
266 ADDITIONAL_HEADER_DIRS
267 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
268 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
270 LINK_LIBS ${LLVM_PTHREAD_LIB} ${MLLinkDeps}
292 add_subdirectory(SelectionDAG)
293 add_subdirectory(AsmPrinter)
294 add_subdirectory(MIRParser)
295 add_subdirectory(GlobalISel)