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)
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
20 if (DEFINED LLVM_HAVE_TF_API)
21 list(APPEND MLLinkDeps ${tensorflow_c_api} ${tensorflow_fx})
25 add_llvm_component_library(LLVMCodeGen
26 AggressiveAntiDepBreaker.cpp
30 BasicTargetTransformInfo.cpp
34 BasicBlockSections.cpp
35 BasicBlockSectionsProfileReader.cpp
43 CodeGenPassBuilder.cpp
46 CriticalAntiDepBreaker.cpp
47 DeadMachineInstructionElim.cpp
53 EHContGuardCatchret.cpp
54 ExecutionDomainFix.cpp
56 ExpandPostRAPseudos.cpp
58 ExpandVectorPredication.cpp
62 FixupStatepointCallerSaved.cpp
70 ImplicitNullChecks.cpp
71 IndirectBrExpandPass.cpp
74 InterleavedAccessPass.cpp
75 InterleavedLoadCombinePass.cpp
78 LatencyPriorityQueue.cpp
79 LazyMachineBlockFrequencyInfo.cpp
81 LiveDebugVariables.cpp
95 LocalStackSlotAllocation.cpp
100 MachineBlockFrequencyInfo.cpp
101 MachineBlockPlacement.cpp
102 MachineBranchProbabilityInfo.cpp
104 MachineCopyPropagation.cpp
106 MachineCheckDebugify.cpp
107 MachineCycleAnalysis.cpp
109 MachineDominanceFrontier.cpp
110 MachineDominators.cpp
113 MachineFunctionPass.cpp
114 MachineFunctionPrinterPass.cpp
115 MachineFunctionSplitter.cpp
116 MachineInstrBundle.cpp
121 MachineModuleInfo.cpp
122 MachineModuleInfoImpls.cpp
123 MachineModuleSlotTracker.cpp
125 MachineOptimizationRemarkEmitter.cpp
127 MachinePassManager.cpp
129 MachinePostDominators.cpp
130 MachineRegionInfo.cpp
131 MachineRegisterInfo.cpp
135 MachineSSAContext.cpp
136 MachineSSAUpdater.cpp
137 MachineStripDebug.cpp
138 MachineTraceMetrics.cpp
140 MIRFSDiscriminator.cpp
143 MLRegallocEvictAdvisor.cpp
145 MultiHazardRecognizer.cpp
146 PatchableFunction.cpp
151 NonRelocatableStringpool.cpp
154 PeepholeOptimizer.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
167 ReachingDefAnalysis.cpp
170 RegAllocEvictionAdvisor.cpp
174 RegAllocPriorityAdvisor.cpp
176 RegisterClassInfo.cpp
177 RegisterCoalescer.cpp
179 RegisterScavenging.cpp
180 RemoveRedundantDebugValues.cpp
181 RenameIndependentSubregs.cpp
182 MachineStableHash.cpp
183 MIRVRegNamerUtils.cpp
185 MIRCanonicalizerPass.cpp
186 RegisterUsageInfo.cpp
187 RegUsageInfoCollector.cpp
188 RegUsageInfoPropagate.cpp
189 ReplaceWithVeclib.cpp
190 ResetMachineFunctionPass.cpp
196 ScheduleDAGInstrs.cpp
197 ScheduleDAGPrinter.cpp
198 ScoreboardHazardRecognizer.cpp
200 ShadowStackGCLowering.cpp
207 StackMapLivenessAnalysis.cpp
210 StackSlotColoring.cpp
211 SwiftErrorValueTracking.cpp
212 SwitchLoweringUtils.cpp
215 TargetFrameLoweringImpl.cpp
217 TargetLoweringBase.cpp
218 TargetLoweringObjectFileImpl.cpp
219 TargetOptionsImpl.cpp
221 TargetRegisterInfo.cpp
223 TargetSubtargetInfo.cpp
225 TwoAddressInstructionPass.cpp
226 UnreachableBlockElim.cpp
228 VLIWMachineScheduler.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}
262 add_subdirectory(SelectionDAG)
263 add_subdirectory(AsmPrinter)
264 add_subdirectory(MIRParser)
265 add_subdirectory(GlobalISel)