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
74 GlobalMergeFunctions.cpp
77 ImplicitNullChecks.cpp
78 IndirectBrExpandPass.cpp
82 InterleavedAccessPass.cpp
83 InterleavedLoadCombinePass.cpp
87 LatencyPriorityQueue.cpp
88 LazyMachineBlockFrequencyInfo.cpp
90 LiveDebugVariables.cpp
103 CodeGenTargetMachineImpl.cpp
104 LocalStackSlotAllocation.cpp
106 LowLevelTypeUtils.cpp
108 MachineBasicBlock.cpp
109 MachineBlockFrequencyInfo.cpp
110 MachineBlockPlacement.cpp
111 MachineBranchProbabilityInfo.cpp
112 MachineCFGPrinter.cpp
114 MachineConvergenceVerifier.cpp
115 MachineCopyPropagation.cpp
117 MachineCheckDebugify.cpp
118 MachineCycleAnalysis.cpp
120 MachineDomTreeUpdater.cpp
121 MachineDominanceFrontier.cpp
122 MachineDominators.cpp
125 MachineFunctionPass.cpp
126 MachineFunctionPrinterPass.cpp
127 MachineFunctionSplitter.cpp
128 MachineInstrBundle.cpp
130 MachineLateInstrsCleanup.cpp
134 MachineModuleInfo.cpp
135 MachineModuleInfoImpls.cpp
136 MachineModuleSlotTracker.cpp
138 MachineOptimizationRemarkEmitter.cpp
140 MachinePassManager.cpp
142 MachinePostDominators.cpp
143 MachineRegionInfo.cpp
144 MachineRegisterInfo.cpp
148 MachineSSAContext.cpp
149 MachineSSAUpdater.cpp
150 MachineStripDebug.cpp
151 MachineTraceMetrics.cpp
152 MachineUniformityAnalysis.cpp
154 MIRFSDiscriminator.cpp
157 MLRegAllocEvictAdvisor.cpp
158 MLRegAllocPriorityAdvisor.cpp
160 MultiHazardRecognizer.cpp
161 PatchableFunction.cpp
166 NonRelocatableStringpool.cpp
168 PeepholeOptimizer.cpp
170 PHIEliminationUtils.cpp
171 PostRAHazardRecognizer.cpp
172 PostRASchedulerList.cpp
173 PreISelIntrinsicLowering.cpp
174 ProcessImplicitDefs.cpp
175 PrologEpilogInserter.cpp
176 PseudoProbeInserter.cpp
177 PseudoSourceValue.cpp
181 ReachingDefAnalysis.cpp
184 RegAllocEvictionAdvisor.cpp
188 RegAllocPriorityAdvisor.cpp
190 RegisterClassInfo.cpp
191 RegisterCoalescer.cpp
193 RegisterScavenging.cpp
194 GCEmptyBasicBlocks.cpp
195 RemoveRedundantDebugValues.cpp
196 RenameIndependentSubregs.cpp
197 MachineStableHash.cpp
198 MIRVRegNamerUtils.cpp
200 MIRCanonicalizerPass.cpp
201 RegisterUsageInfo.cpp
202 RegUsageInfoCollector.cpp
203 RegUsageInfoPropagate.cpp
204 RemoveLoadsIntoFakeUses.cpp
205 ReplaceWithVeclib.cpp
206 ResetMachineFunctionPass.cpp
211 SanitizerBinaryMetadata.cpp
213 ScheduleDAGInstrs.cpp
214 ScheduleDAGPrinter.cpp
215 ScoreboardHazardRecognizer.cpp
217 ShadowStackGCLowering.cpp
224 StackFrameLayoutAnalysisPass.cpp
225 StackMapLivenessAnalysis.cpp
228 StackSlotColoring.cpp
229 SwiftErrorValueTracking.cpp
230 SwitchLoweringUtils.cpp
233 TargetFrameLoweringImpl.cpp
235 TargetLoweringBase.cpp
236 TargetLoweringObjectFileImpl.cpp
237 TargetOptionsImpl.cpp
239 TargetRegisterInfo.cpp
241 TargetSubtargetInfo.cpp
242 TwoAddressInstructionPass.cpp
244 UnreachableBlockElim.cpp
246 VLIWMachineScheduler.cpp
251 XRayInstrumentation.cpp
252 ${GeneratedMLSources}
254 LiveDebugValues/LiveDebugValues.cpp
255 LiveDebugValues/VarLocBasedImpl.cpp
256 LiveDebugValues/InstrRefBasedImpl.cpp
258 ADDITIONAL_HEADER_DIRS
259 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
260 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
262 LINK_LIBS ${LLVM_PTHREAD_LIB} ${MLLinkDeps}
285 add_subdirectory(SelectionDAG)
286 add_subdirectory(AsmPrinter)
287 add_subdirectory(MIRParser)
288 add_subdirectory(GlobalISel)