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 BasicBlockSectionsProfileReader.cpp
58 CodeGenPassBuilder.cpp
61 ComplexDeinterleavingPass.cpp
62 CriticalAntiDepBreaker.cpp
63 DeadMachineInstructionElim.cpp
69 EHContGuardCatchret.cpp
70 ExecutionDomainFix.cpp
72 ExpandLargeFpConvert.cpp
74 ExpandPostRAPseudos.cpp
76 ExpandVectorPredication.cpp
80 FixupStatepointCallerSaved.cpp
88 ImplicitNullChecks.cpp
89 IndirectBrExpandPass.cpp
92 InterleavedAccessPass.cpp
93 InterleavedLoadCombinePass.cpp
97 LatencyPriorityQueue.cpp
98 LazyMachineBlockFrequencyInfo.cpp
100 LiveDebugVariables.cpp
103 LiveIntervalUnion.cpp
113 LLVMTargetMachine.cpp
114 LocalStackSlotAllocation.cpp
116 LowLevelTypeUtils.cpp
118 MachineBasicBlock.cpp
119 MachineBlockFrequencyInfo.cpp
120 MachineBlockPlacement.cpp
121 MachineBranchProbabilityInfo.cpp
122 MachineCFGPrinter.cpp
124 MachineCopyPropagation.cpp
126 MachineCheckDebugify.cpp
127 MachineCycleAnalysis.cpp
129 MachineDominanceFrontier.cpp
130 MachineDominators.cpp
133 MachineFunctionPass.cpp
134 MachineFunctionPrinterPass.cpp
135 MachineFunctionSplitter.cpp
136 MachineInstrBundle.cpp
138 MachineLateInstrsCleanup.cpp
142 MachineModuleInfo.cpp
143 MachineModuleInfoImpls.cpp
144 MachineModuleSlotTracker.cpp
146 MachineOptimizationRemarkEmitter.cpp
148 MachinePassManager.cpp
150 MachinePostDominators.cpp
151 MachineRegionInfo.cpp
152 MachineRegisterInfo.cpp
156 MachineSSAContext.cpp
157 MachineSSAUpdater.cpp
158 MachineStripDebug.cpp
159 MachineTraceMetrics.cpp
160 MachineUniformityAnalysis.cpp
162 MIRFSDiscriminator.cpp
165 MLRegallocEvictAdvisor.cpp
166 MLRegallocPriorityAdvisor.cpp
168 MultiHazardRecognizer.cpp
169 PatchableFunction.cpp
174 NonRelocatableStringpool.cpp
177 PeepholeOptimizer.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
190 ReachingDefAnalysis.cpp
193 RegAllocEvictionAdvisor.cpp
197 RegAllocPriorityAdvisor.cpp
199 RegisterClassInfo.cpp
200 RegisterCoalescer.cpp
202 RegisterScavenging.cpp
203 RemoveRedundantDebugValues.cpp
204 RenameIndependentSubregs.cpp
205 MachineStableHash.cpp
206 MIRVRegNamerUtils.cpp
208 MIRCanonicalizerPass.cpp
209 RegisterUsageInfo.cpp
210 RegUsageInfoCollector.cpp
211 RegUsageInfoPropagate.cpp
212 ReplaceWithVeclib.cpp
213 ResetMachineFunctionPass.cpp
218 SanitizerBinaryMetadata.cpp
220 ScheduleDAGInstrs.cpp
221 ScheduleDAGPrinter.cpp
222 ScoreboardHazardRecognizer.cpp
224 ShadowStackGCLowering.cpp
231 StackFrameLayoutAnalysisPass.cpp
232 StackMapLivenessAnalysis.cpp
235 StackSlotColoring.cpp
236 SwiftErrorValueTracking.cpp
237 SwitchLoweringUtils.cpp
240 TargetFrameLoweringImpl.cpp
242 TargetLoweringBase.cpp
243 TargetLoweringObjectFileImpl.cpp
244 TargetOptionsImpl.cpp
246 TargetRegisterInfo.cpp
248 TargetSubtargetInfo.cpp
249 TwoAddressInstructionPass.cpp
251 UnreachableBlockElim.cpp
253 VLIWMachineScheduler.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}
290 add_subdirectory(SelectionDAG)
291 add_subdirectory(AsmPrinter)
292 add_subdirectory(MIRParser)
293 add_subdirectory(GlobalISel)