1add_llvm_component_library(LLVMCodeGen
2  AggressiveAntiDepBreaker.cpp
3  AllocationOrder.cpp
4  Analysis.cpp
5  AtomicExpandPass.cpp
6  BasicTargetTransformInfo.cpp
7  BranchFolding.cpp
8  BranchRelaxation.cpp
9  BreakFalseDeps.cpp
10  BasicBlockSections.cpp
11  CalcSpillWeights.cpp
12  CallingConvLower.cpp
13  CFGuardLongjmp.cpp
14  CFIInstrInserter.cpp
15  CodeGen.cpp
16  CodeGenCommonISel.cpp
17  CodeGenPassBuilder.cpp
18  CodeGenPrepare.cpp
19  CommandFlags.cpp
20  CriticalAntiDepBreaker.cpp
21  DeadMachineInstructionElim.cpp
22  DetectDeadLanes.cpp
23  DFAPacketizer.cpp
24  DwarfEHPrepare.cpp
25  EarlyIfConversion.cpp
26  EdgeBundles.cpp
27  EHContGuardCatchret.cpp
28  ExecutionDomainFix.cpp
29  ExpandMemCmp.cpp
30  ExpandPostRAPseudos.cpp
31  ExpandReductions.cpp
32  ExpandVectorPredication.cpp
33  FaultMaps.cpp
34  FEntryInserter.cpp
35  FinalizeISel.cpp
36  FixupStatepointCallerSaved.cpp
37  FuncletLayout.cpp
38  GCMetadata.cpp
39  GCMetadataPrinter.cpp
40  GCRootLowering.cpp
41  GlobalMerge.cpp
42  HardwareLoops.cpp
43  IfConversion.cpp
44  ImplicitNullChecks.cpp
45  IndirectBrExpandPass.cpp
46  InlineSpiller.cpp
47  InterferenceCache.cpp
48  InterleavedAccessPass.cpp
49  InterleavedLoadCombinePass.cpp
50  IntrinsicLowering.cpp
51  LatencyPriorityQueue.cpp
52  LazyMachineBlockFrequencyInfo.cpp
53  LexicalScopes.cpp
54  LiveDebugVariables.cpp
55  LiveIntervals.cpp
56  LiveInterval.cpp
57  LiveIntervalUnion.cpp
58  LivePhysRegs.cpp
59  LiveRangeCalc.cpp
60  LiveIntervalCalc.cpp
61  LiveRangeEdit.cpp
62  LiveRangeShrink.cpp
63  LiveRegMatrix.cpp
64  LiveRegUnits.cpp
65  LiveStacks.cpp
66  LiveVariables.cpp
67  LLVMTargetMachine.cpp
68  LocalStackSlotAllocation.cpp
69  LoopTraversal.cpp
70  LowLevelType.cpp
71  LowerEmuTLS.cpp
72  MachineBasicBlock.cpp
73  MachineBlockFrequencyInfo.cpp
74  MachineBlockPlacement.cpp
75  MachineBranchProbabilityInfo.cpp
76  MachineCombiner.cpp
77  MachineCopyPropagation.cpp
78  MachineCSE.cpp
79  MachineCheckDebugify.cpp
80  MachineCycleAnalysis.cpp
81  MachineDebugify.cpp
82  MachineDominanceFrontier.cpp
83  MachineDominators.cpp
84  MachineFrameInfo.cpp
85  MachineFunction.cpp
86  MachineFunctionPass.cpp
87  MachineFunctionPrinterPass.cpp
88  MachineFunctionSplitter.cpp
89  MachineInstrBundle.cpp
90  MachineInstr.cpp
91  MachineLICM.cpp
92  MachineLoopInfo.cpp
93  MachineLoopUtils.cpp
94  MachineModuleInfo.cpp
95  MachineModuleInfoImpls.cpp
96  MachineModuleSlotTracker.cpp
97  MachineOperand.cpp
98  MachineOptimizationRemarkEmitter.cpp
99  MachineOutliner.cpp
100  MachinePassManager.cpp
101  MachinePipeliner.cpp
102  MachinePostDominators.cpp
103  MachineRegionInfo.cpp
104  MachineRegisterInfo.cpp
105  MachineScheduler.cpp
106  MachineSink.cpp
107  MachineSizeOpts.cpp
108  MachineSSAContext.cpp
109  MachineSSAUpdater.cpp
110  MachineStripDebug.cpp
111  MachineTraceMetrics.cpp
112  MachineVerifier.cpp
113  MIRFSDiscriminator.cpp
114  MIRSampleProfile.cpp
115  MIRYamlMapping.cpp
116  MLRegallocEvictAdvisor.cpp
117  ModuloSchedule.cpp
118  MultiHazardRecognizer.cpp
119  PatchableFunction.cpp
120  MBFIWrapper.cpp
121  MIRPrinter.cpp
122  MIRPrintingPass.cpp
123  MacroFusion.cpp
124  NonRelocatableStringpool.cpp
125  OptimizePHIs.cpp
126  ParallelCG.cpp
127  PeepholeOptimizer.cpp
128  PHIElimination.cpp
129  PHIEliminationUtils.cpp
130  PostRAHazardRecognizer.cpp
131  PostRASchedulerList.cpp
132  PreISelIntrinsicLowering.cpp
133  ProcessImplicitDefs.cpp
134  PrologEpilogInserter.cpp
135  PseudoProbeInserter.cpp
136  PseudoSourceValue.cpp
137  RDFGraph.cpp
138  RDFLiveness.cpp
139  RDFRegisters.cpp
140  ReachingDefAnalysis.cpp
141  RegAllocBase.cpp
142  RegAllocBasic.cpp
143  RegAllocEvictionAdvisor.cpp
144  RegAllocFast.cpp
145  RegAllocGreedy.cpp
146  RegAllocPBQP.cpp
147  RegAllocScore.cpp
148  RegisterClassInfo.cpp
149  RegisterCoalescer.cpp
150  RegisterPressure.cpp
151  RegisterScavenging.cpp
152  RemoveRedundantDebugValues.cpp
153  RenameIndependentSubregs.cpp
154  MachineStableHash.cpp
155  MIRVRegNamerUtils.cpp
156  MIRNamerPass.cpp
157  MIRCanonicalizerPass.cpp
158  RegisterUsageInfo.cpp
159  RegUsageInfoCollector.cpp
160  RegUsageInfoPropagate.cpp
161  ReplaceWithVeclib.cpp
162  ResetMachineFunctionPass.cpp
163  SafeStack.cpp
164  SafeStackLayout.cpp
165  ScheduleDAG.cpp
166  ScheduleDAGInstrs.cpp
167  ScheduleDAGPrinter.cpp
168  ScoreboardHazardRecognizer.cpp
169  ShadowStackGCLowering.cpp
170  ShrinkWrap.cpp
171  SjLjEHPrepare.cpp
172  SlotIndexes.cpp
173  SpillPlacement.cpp
174  SplitKit.cpp
175  StackColoring.cpp
176  StackMapLivenessAnalysis.cpp
177  StackMaps.cpp
178  StackProtector.cpp
179  StackSlotColoring.cpp
180  SwiftErrorValueTracking.cpp
181  SwitchLoweringUtils.cpp
182  TailDuplication.cpp
183  TailDuplicator.cpp
184  TargetFrameLoweringImpl.cpp
185  TargetInstrInfo.cpp
186  TargetLoweringBase.cpp
187  TargetLoweringObjectFileImpl.cpp
188  TargetOptionsImpl.cpp
189  TargetPassConfig.cpp
190  TargetRegisterInfo.cpp
191  TargetSchedule.cpp
192  TargetSubtargetInfo.cpp
193  TypePromotion.cpp
194  TwoAddressInstructionPass.cpp
195  UnreachableBlockElim.cpp
196  ValueTypes.cpp
197  VLIWMachineScheduler.cpp
198  VirtRegMap.cpp
199  WasmEHPrepare.cpp
200  WinEHPrepare.cpp
201  XRayInstrumentation.cpp
202
203  LiveDebugValues/LiveDebugValues.cpp
204  LiveDebugValues/VarLocBasedImpl.cpp
205  LiveDebugValues/InstrRefBasedImpl.cpp
206
207  ADDITIONAL_HEADER_DIRS
208  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
209  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
210
211  LINK_LIBS ${LLVM_PTHREAD_LIB}
212
213  DEPENDS
214  intrinsics_gen
215
216  LINK_COMPONENTS
217  Analysis
218  BitReader
219  BitWriter
220  Core
221  MC
222  ProfileData
223  Scalar
224  Support
225  Target
226  TransformUtils
227  )
228
229add_subdirectory(SelectionDAG)
230add_subdirectory(AsmPrinter)
231add_subdirectory(MIRParser)
232add_subdirectory(GlobalISel)
233