Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / lib / CodeGen / CMakeLists.txt
blobf1607f85c5b3198512fa810b4d6c32f400141ae4
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)
8     tf_find_and_compile(
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"
13       serve
14       action
15       RegAllocEvictModel
16       llvm::RegAllocEvictModel
17     )
18   endif()
20   if (LLVM_HAVE_TFLITE)
21     list(APPEND MLLinkDeps ${tensorflow_c_api} ${tensorflow_fx})
22   endif()
23 endif()
25 add_llvm_component_library(LLVMCodeGen
26   AggressiveAntiDepBreaker.cpp
27   AllocationOrder.cpp
28   Analysis.cpp
29   AssignmentTrackingAnalysis.cpp
30   AtomicExpandPass.cpp
31   BasicTargetTransformInfo.cpp
32   BranchFolding.cpp
33   BranchRelaxation.cpp
34   BreakFalseDeps.cpp
35   BasicBlockSections.cpp
36   BasicBlockPathCloning.cpp
37   BasicBlockSectionsProfileReader.cpp
38   CalcSpillWeights.cpp
39   CallBrPrepare.cpp
40   CallingConvLower.cpp
41   CFGuardLongjmp.cpp
42   CFIFixup.cpp
43   CFIInstrInserter.cpp
44   CodeGen.cpp
45   CodeGenCommonISel.cpp
46   CodeGenPrepare.cpp
47   CommandFlags.cpp
48   ComplexDeinterleavingPass.cpp
49   CriticalAntiDepBreaker.cpp
50   DeadMachineInstructionElim.cpp
51   DetectDeadLanes.cpp
52   DFAPacketizer.cpp
53   DwarfEHPrepare.cpp
54   EarlyIfConversion.cpp
55   EdgeBundles.cpp
56   EHContGuardCatchret.cpp
57   ExecutionDomainFix.cpp
58   ExpandLargeDivRem.cpp
59   ExpandLargeFpConvert.cpp
60   ExpandMemCmp.cpp
61   ExpandPostRAPseudos.cpp
62   ExpandReductions.cpp
63   ExpandVectorPredication.cpp
64   FaultMaps.cpp
65   FEntryInserter.cpp
66   FinalizeISel.cpp
67   FixupStatepointCallerSaved.cpp
68   FuncletLayout.cpp
69   MachineFunctionAnalysis.cpp
70   GCMetadata.cpp
71   GCMetadataPrinter.cpp
72   GCRootLowering.cpp
73   GlobalMerge.cpp
74   HardwareLoops.cpp
75   IfConversion.cpp
76   ImplicitNullChecks.cpp
77   IndirectBrExpandPass.cpp
78   InitUndef.cpp
79   InlineSpiller.cpp
80   InterferenceCache.cpp
81   InterleavedAccessPass.cpp
82   InterleavedLoadCombinePass.cpp
83   IntrinsicLowering.cpp
84   JMCInstrumenter.cpp
85   KCFI.cpp
86   LatencyPriorityQueue.cpp
87   LazyMachineBlockFrequencyInfo.cpp
88   LexicalScopes.cpp
89   LiveDebugVariables.cpp
90   LiveIntervals.cpp
91   LiveInterval.cpp
92   LiveIntervalUnion.cpp
93   LivePhysRegs.cpp
94   LiveRangeCalc.cpp
95   LiveIntervalCalc.cpp
96   LiveRangeEdit.cpp
97   LiveRangeShrink.cpp
98   LiveRegMatrix.cpp
99   LiveRegUnits.cpp
100   LiveStacks.cpp
101   LiveVariables.cpp
102   LLVMTargetMachine.cpp
103   LocalStackSlotAllocation.cpp
104   LoopTraversal.cpp
105   LowLevelTypeUtils.cpp
106   LowerEmuTLS.cpp
107   MachineBasicBlock.cpp
108   MachineBlockFrequencyInfo.cpp
109   MachineBlockPlacement.cpp
110   MachineBranchProbabilityInfo.cpp
111   MachineCFGPrinter.cpp
112   MachineCombiner.cpp
113   MachineConvergenceVerifier.cpp
114   MachineCopyPropagation.cpp
115   MachineCSE.cpp
116   MachineCheckDebugify.cpp
117   MachineCycleAnalysis.cpp
118   MachineDebugify.cpp
119   MachineDomTreeUpdater.cpp
120   MachineDominanceFrontier.cpp
121   MachineDominators.cpp
122   MachineFrameInfo.cpp
123   MachineFunction.cpp
124   MachineFunctionPass.cpp
125   MachineFunctionPrinterPass.cpp
126   MachineFunctionSplitter.cpp
127   MachineInstrBundle.cpp
128   MachineInstr.cpp
129   MachineLateInstrsCleanup.cpp
130   MachineLICM.cpp
131   MachineLoopInfo.cpp
132   MachineLoopUtils.cpp
133   MachineModuleInfo.cpp
134   MachineModuleInfoImpls.cpp
135   MachineModuleSlotTracker.cpp
136   MachineOperand.cpp
137   MachineOptimizationRemarkEmitter.cpp
138   MachineOutliner.cpp
139   MachinePassManager.cpp
140   MachinePipeliner.cpp
141   MachinePostDominators.cpp
142   MachineRegionInfo.cpp
143   MachineRegisterInfo.cpp
144   MachineScheduler.cpp
145   MachineSink.cpp
146   MachineSizeOpts.cpp
147   MachineSSAContext.cpp
148   MachineSSAUpdater.cpp
149   MachineStripDebug.cpp
150   MachineTraceMetrics.cpp
151   MachineUniformityAnalysis.cpp
152   MachineVerifier.cpp
153   MIRFSDiscriminator.cpp
154   MIRSampleProfile.cpp
155   MIRYamlMapping.cpp
156   MLRegAllocEvictAdvisor.cpp
157   MLRegAllocPriorityAdvisor.cpp
158   ModuloSchedule.cpp
159   MultiHazardRecognizer.cpp
160   PatchableFunction.cpp
161   MBFIWrapper.cpp
162   MIRPrinter.cpp
163   MIRPrintingPass.cpp
164   MacroFusion.cpp
165   NonRelocatableStringpool.cpp
166   OptimizePHIs.cpp
167   PeepholeOptimizer.cpp
168   PHIElimination.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
177   RDFGraph.cpp
178   RDFLiveness.cpp
179   RDFRegisters.cpp
180   ReachingDefAnalysis.cpp
181   RegAllocBase.cpp
182   RegAllocBasic.cpp
183   RegAllocEvictionAdvisor.cpp
184   RegAllocFast.cpp
185   RegAllocGreedy.cpp
186   RegAllocPBQP.cpp
187   RegAllocPriorityAdvisor.cpp
188   RegAllocScore.cpp
189   RegisterClassInfo.cpp
190   RegisterCoalescer.cpp
191   RegisterPressure.cpp
192   RegisterScavenging.cpp
193   GCEmptyBasicBlocks.cpp
194   RemoveRedundantDebugValues.cpp
195   RenameIndependentSubregs.cpp
196   MachineStableHash.cpp
197   MIRVRegNamerUtils.cpp
198   MIRNamerPass.cpp
199   MIRCanonicalizerPass.cpp
200   RegisterUsageInfo.cpp
201   RegUsageInfoCollector.cpp
202   RegUsageInfoPropagate.cpp
203   ReplaceWithVeclib.cpp
204   ResetMachineFunctionPass.cpp
205   RegisterBank.cpp
206   RegisterBankInfo.cpp
207   SafeStack.cpp
208   SafeStackLayout.cpp
209   SanitizerBinaryMetadata.cpp
210   ScheduleDAG.cpp
211   ScheduleDAGInstrs.cpp
212   ScheduleDAGPrinter.cpp
213   ScoreboardHazardRecognizer.cpp
214   SelectOptimize.cpp
215   ShadowStackGCLowering.cpp
216   ShrinkWrap.cpp
217   SjLjEHPrepare.cpp
218   SlotIndexes.cpp
219   SpillPlacement.cpp
220   SplitKit.cpp
221   StackColoring.cpp
222   StackFrameLayoutAnalysisPass.cpp
223   StackMapLivenessAnalysis.cpp
224   StackMaps.cpp
225   StackProtector.cpp
226   StackSlotColoring.cpp
227   SwiftErrorValueTracking.cpp
228   SwitchLoweringUtils.cpp
229   TailDuplication.cpp
230   TailDuplicator.cpp
231   TargetFrameLoweringImpl.cpp
232   TargetInstrInfo.cpp
233   TargetLoweringBase.cpp
234   TargetLoweringObjectFileImpl.cpp
235   TargetOptionsImpl.cpp
236   TargetPassConfig.cpp
237   TargetRegisterInfo.cpp
238   TargetSchedule.cpp
239   TargetSubtargetInfo.cpp
240   TwoAddressInstructionPass.cpp
241   TypePromotion.cpp
242   UnreachableBlockElim.cpp
243   ValueTypes.cpp
244   VLIWMachineScheduler.cpp
245   VirtRegMap.cpp
246   WasmEHPrepare.cpp
247   WindowScheduler.cpp
248   WinEHPrepare.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}
262   DEPENDS
263   intrinsics_gen
264   ${MLDeps}
266   LINK_COMPONENTS
267   Analysis
268   BitReader
269   BitWriter
270   CodeGenTypes
271   Core
272   MC
273   ObjCARC
274   ProfileData
275   Scalar
276   Support
277   Target
278   TargetParser
279   TransformUtils
280   )
282 add_subdirectory(SelectionDAG)
283 add_subdirectory(AsmPrinter)
284 add_subdirectory(MIRParser)
285 add_subdirectory(GlobalISel)