1static_library("CodeGen") {
2  output_name = "LLVMCodeGen"
3  public_deps = [
4    # Must be a public_dep because CodeGen's headers include llvm-config.h.
5    "//llvm/include/llvm/Config:llvm-config",
6  ]
7  deps = [
8    "//llvm/lib/Analysis",
9    "//llvm/lib/Bitcode/Reader",
10    "//llvm/lib/Bitcode/Writer",
11    "//llvm/lib/IR",
12    "//llvm/lib/MC",
13    "//llvm/lib/ProfileData",
14    "//llvm/lib/Support",
15    "//llvm/lib/Target",
16    "//llvm/lib/Transforms/Scalar",
17    "//llvm/lib/Transforms/Utils",
18  ]
19  sources = [
20    "AggressiveAntiDepBreaker.cpp",
21    "AllocationOrder.cpp",
22    "Analysis.cpp",
23    "AtomicExpandPass.cpp",
24    "BasicTargetTransformInfo.cpp",
25    "BranchFolding.cpp",
26    "BranchRelaxation.cpp",
27    "BreakFalseDeps.cpp",
28    "BuiltinGCs.cpp",
29    "CFGuardLongjmp.cpp",
30    "CFIInstrInserter.cpp",
31    "CalcSpillWeights.cpp",
32    "CallingConvLower.cpp",
33    "CodeGen.cpp",
34    "CodeGenPrepare.cpp",
35    "CriticalAntiDepBreaker.cpp",
36    "DFAPacketizer.cpp",
37    "DeadMachineInstructionElim.cpp",
38    "DetectDeadLanes.cpp",
39    "DwarfEHPrepare.cpp",
40    "EarlyIfConversion.cpp",
41    "EdgeBundles.cpp",
42    "ExecutionDomainFix.cpp",
43    "ExpandMemCmp.cpp",
44    "ExpandPostRAPseudos.cpp",
45    "ExpandReductions.cpp",
46    "FEntryInserter.cpp",
47    "FaultMaps.cpp",
48    "FinalizeISel.cpp",
49    "FuncletLayout.cpp",
50    "GCMetadata.cpp",
51    "GCMetadataPrinter.cpp",
52    "GCRootLowering.cpp",
53    "GCStrategy.cpp",
54    "GlobalMerge.cpp",
55    "HardwareLoops.cpp",
56    "IfConversion.cpp",
57    "ImplicitNullChecks.cpp",
58    "IndirectBrExpandPass.cpp",
59    "InlineSpiller.cpp",
60    "InterferenceCache.cpp",
61    "InterleavedAccessPass.cpp",
62    "InterleavedLoadCombinePass.cpp",
63    "IntrinsicLowering.cpp",
64    "LLVMTargetMachine.cpp",
65    "LatencyPriorityQueue.cpp",
66    "LazyMachineBlockFrequencyInfo.cpp",
67    "LexicalScopes.cpp",
68    "LiveDebugValues.cpp",
69    "LiveDebugVariables.cpp",
70    "LiveInterval.cpp",
71    "LiveIntervalUnion.cpp",
72    "LiveIntervals.cpp",
73    "LivePhysRegs.cpp",
74    "LiveRangeCalc.cpp",
75    "LiveRangeEdit.cpp",
76    "LiveRangeShrink.cpp",
77    "LiveRegMatrix.cpp",
78    "LiveRegUnits.cpp",
79    "LiveStacks.cpp",
80    "LiveVariables.cpp",
81    "LocalStackSlotAllocation.cpp",
82    "LoopTraversal.cpp",
83    "LowLevelType.cpp",
84    "LowerEmuTLS.cpp",
85    "MIRCanonicalizerPass.cpp",
86    "MIRNamerPass.cpp",
87    "MIRPrinter.cpp",
88    "MIRPrintingPass.cpp",
89    "MIRVRegNamerUtils.cpp",
90    "MachineBasicBlock.cpp",
91    "MachineBlockFrequencyInfo.cpp",
92    "MachineBlockPlacement.cpp",
93    "MachineBranchProbabilityInfo.cpp",
94    "MachineCSE.cpp",
95    "MachineCombiner.cpp",
96    "MachineCopyPropagation.cpp",
97    "MachineDominanceFrontier.cpp",
98    "MachineDominators.cpp",
99    "MachineFrameInfo.cpp",
100    "MachineFunction.cpp",
101    "MachineFunctionPass.cpp",
102    "MachineFunctionPrinterPass.cpp",
103    "MachineInstr.cpp",
104    "MachineInstrBundle.cpp",
105    "MachineLICM.cpp",
106    "MachineLoopInfo.cpp",
107    "MachineLoopUtils.cpp",
108    "MachineModuleInfo.cpp",
109    "MachineModuleInfoImpls.cpp",
110    "MachineOperand.cpp",
111    "MachineOptimizationRemarkEmitter.cpp",
112    "MachineOutliner.cpp",
113    "MachinePipeliner.cpp",
114    "MachinePostDominators.cpp",
115    "MachineRegionInfo.cpp",
116    "MachineRegisterInfo.cpp",
117    "MachineSSAUpdater.cpp",
118    "MachineScheduler.cpp",
119    "MachineSink.cpp",
120    "MachineSizeOpts.cpp",
121    "MachineTraceMetrics.cpp",
122    "MachineVerifier.cpp",
123    "MacroFusion.cpp",
124    "ModuloSchedule.cpp",
125    "NonRelocatableStringpool.cpp",
126    "OptimizePHIs.cpp",
127    "PHIElimination.cpp",
128    "PHIEliminationUtils.cpp",
129    "ParallelCG.cpp",
130    "PatchableFunction.cpp",
131    "PeepholeOptimizer.cpp",
132    "PostRAHazardRecognizer.cpp",
133    "PostRASchedulerList.cpp",
134    "PreISelIntrinsicLowering.cpp",
135    "ProcessImplicitDefs.cpp",
136    "PrologEpilogInserter.cpp",
137    "PseudoSourceValue.cpp",
138    "ReachingDefAnalysis.cpp",
139    "RegAllocBase.cpp",
140    "RegAllocBasic.cpp",
141    "RegAllocFast.cpp",
142    "RegAllocGreedy.cpp",
143    "RegAllocPBQP.cpp",
144    "RegUsageInfoCollector.cpp",
145    "RegUsageInfoPropagate.cpp",
146    "RegisterClassInfo.cpp",
147    "RegisterCoalescer.cpp",
148    "RegisterPressure.cpp",
149    "RegisterScavenging.cpp",
150    "RegisterUsageInfo.cpp",
151    "RenameIndependentSubregs.cpp",
152    "ResetMachineFunctionPass.cpp",
153    "SafeStack.cpp",
154    "SafeStackColoring.cpp",
155    "SafeStackLayout.cpp",
156    "ScalarizeMaskedMemIntrin.cpp",
157    "ScheduleDAG.cpp",
158    "ScheduleDAGInstrs.cpp",
159    "ScheduleDAGPrinter.cpp",
160    "ScoreboardHazardRecognizer.cpp",
161    "ShadowStackGCLowering.cpp",
162    "ShrinkWrap.cpp",
163    "SjLjEHPrepare.cpp",
164    "SlotIndexes.cpp",
165    "SpillPlacement.cpp",
166    "SplitKit.cpp",
167    "StackColoring.cpp",
168    "StackMapLivenessAnalysis.cpp",
169    "StackMaps.cpp",
170    "StackProtector.cpp",
171    "StackSlotColoring.cpp",
172    "SwiftErrorValueTracking.cpp",
173    "SwitchLoweringUtils.cpp",
174    "TailDuplication.cpp",
175    "TailDuplicator.cpp",
176    "TargetFrameLoweringImpl.cpp",
177    "TargetInstrInfo.cpp",
178    "TargetLoweringBase.cpp",
179    "TargetLoweringObjectFileImpl.cpp",
180    "TargetOptionsImpl.cpp",
181    "TargetPassConfig.cpp",
182    "TargetRegisterInfo.cpp",
183    "TargetSchedule.cpp",
184    "TargetSubtargetInfo.cpp",
185    "TwoAddressInstructionPass.cpp",
186    "TypePromotion.cpp",
187    "UnreachableBlockElim.cpp",
188    "ValueTypes.cpp",
189    "VirtRegMap.cpp",
190    "WasmEHPrepare.cpp",
191    "WinEHPrepare.cpp",
192    "XRayInstrumentation.cpp",
193  ]
194}
195