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 add_llvm_component_library(LLVMCodeGen
26 AggressiveAntiDepBreaker.cpp
29 AssignmentTrackingAnalysis.cpp
31 BasicTargetTransformInfo.cpp
35 BasicBlockSections.cpp
36 BasicBlockPathCloning.cpp
37 BasicBlockSectionsProfileReader.cpp
48 ComplexDeinterleavingPass.cpp
49 CriticalAntiDepBreaker.cpp
50 DeadMachineInstructionElim.cpp
56 EHContGuardCatchret.cpp
57 ExecutionDomainFix.cpp
59 ExpandLargeFpConvert.cpp
61 ExpandPostRAPseudos.cpp
63 ExpandVectorPredication.cpp
67 FixupStatepointCallerSaved.cpp
69 MachineFunctionAnalysis.cpp
76 ImplicitNullChecks.cpp
77 IndirectBrExpandPass.cpp
81 InterleavedAccessPass.cpp
82 InterleavedLoadCombinePass.cpp
86 LatencyPriorityQueue.cpp
87 LazyMachineBlockFrequencyInfo.cpp
89 LiveDebugVariables.cpp
102 LLVMTargetMachine.cpp
103 LocalStackSlotAllocation.cpp
105 LowLevelTypeUtils.cpp
107 MachineBasicBlock.cpp
108 MachineBlockFrequencyInfo.cpp
109 MachineBlockPlacement.cpp
110 MachineBranchProbabilityInfo.cpp
111 MachineCFGPrinter.cpp
113 MachineConvergenceVerifier.cpp
114 MachineCopyPropagation.cpp
116 MachineCheckDebugify.cpp
117 MachineCycleAnalysis.cpp
119 MachineDomTreeUpdater.cpp
120 MachineDominanceFrontier.cpp
121 MachineDominators.cpp
124 MachineFunctionPass.cpp
125 MachineFunctionPrinterPass.cpp
126 MachineFunctionSplitter.cpp
127 MachineInstrBundle.cpp
129 MachineLateInstrsCleanup.cpp
133 MachineModuleInfo.cpp
134 MachineModuleInfoImpls.cpp
135 MachineModuleSlotTracker.cpp
137 MachineOptimizationRemarkEmitter.cpp
139 MachinePassManager.cpp
141 MachinePostDominators.cpp
142 MachineRegionInfo.cpp
143 MachineRegisterInfo.cpp
147 MachineSSAContext.cpp
148 MachineSSAUpdater.cpp
149 MachineStripDebug.cpp
150 MachineTraceMetrics.cpp
151 MachineUniformityAnalysis.cpp
153 MIRFSDiscriminator.cpp
156 MLRegAllocEvictAdvisor.cpp
157 MLRegAllocPriorityAdvisor.cpp
159 MultiHazardRecognizer.cpp
160 PatchableFunction.cpp
165 NonRelocatableStringpool.cpp
167 PeepholeOptimizer.cpp
169 PHIEliminationUtils.cpp
170 PostRAHazardRecognizer.cpp
171 PostRASchedulerList.cpp
172 PreISelIntrinsicLowering.cpp
173 ProcessImplicitDefs.cpp
174 PrologEpilogInserter.cpp
175 PseudoProbeInserter.cpp
176 PseudoSourceValue.cpp
180 ReachingDefAnalysis.cpp
183 RegAllocEvictionAdvisor.cpp
187 RegAllocPriorityAdvisor.cpp
189 RegisterClassInfo.cpp
190 RegisterCoalescer.cpp
192 RegisterScavenging.cpp
193 GCEmptyBasicBlocks.cpp
194 RemoveRedundantDebugValues.cpp
195 RenameIndependentSubregs.cpp
196 MachineStableHash.cpp
197 MIRVRegNamerUtils.cpp
199 MIRCanonicalizerPass.cpp
200 RegisterUsageInfo.cpp
201 RegUsageInfoCollector.cpp
202 RegUsageInfoPropagate.cpp
203 ReplaceWithVeclib.cpp
204 ResetMachineFunctionPass.cpp
209 SanitizerBinaryMetadata.cpp
211 ScheduleDAGInstrs.cpp
212 ScheduleDAGPrinter.cpp
213 ScoreboardHazardRecognizer.cpp
215 ShadowStackGCLowering.cpp
222 StackFrameLayoutAnalysisPass.cpp
223 StackMapLivenessAnalysis.cpp
226 StackSlotColoring.cpp
227 SwiftErrorValueTracking.cpp
228 SwitchLoweringUtils.cpp
231 TargetFrameLoweringImpl.cpp
233 TargetLoweringBase.cpp
234 TargetLoweringObjectFileImpl.cpp
235 TargetOptionsImpl.cpp
237 TargetRegisterInfo.cpp
239 TargetSubtargetInfo.cpp
240 TwoAddressInstructionPass.cpp
242 UnreachableBlockElim.cpp
244 VLIWMachineScheduler.cpp
249 XRayInstrumentation.cpp
250 ${GeneratedMLSources}
252 LiveDebugValues/LiveDebugValues.cpp
253 LiveDebugValues/VarLocBasedImpl.cpp
254 LiveDebugValues/InstrRefBasedImpl.cpp
256 ADDITIONAL_HEADER_DIRS
257 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
258 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
260 LINK_LIBS ${LLVM_PTHREAD_LIB} ${MLLinkDeps}
282 add_subdirectory(SelectionDAG)
283 add_subdirectory(AsmPrinter)
284 add_subdirectory(MIRParser)
285 add_subdirectory(GlobalISel)