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  BuiltinGCs.cpp
11  BasicBlockSections.cpp
12  CalcSpillWeights.cpp
13  CallingConvLower.cpp
14  CFGuardLongjmp.cpp
15  CFIInstrInserter.cpp
16  CodeGen.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  FaultMaps.cpp
33  FEntryInserter.cpp
34  FinalizeISel.cpp
35  FixupStatepointCallerSaved.cpp
36  FuncletLayout.cpp
37  GCMetadata.cpp
38  GCMetadataPrinter.cpp
39  GCRootLowering.cpp
40  GCStrategy.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  MachineDebugify.cpp
81  MachineDominanceFrontier.cpp
82  MachineDominators.cpp
83  MachineFrameInfo.cpp
84  MachineFunction.cpp
85  MachineFunctionPass.cpp
86  MachineFunctionPrinterPass.cpp
87  MachineFunctionSplitter.cpp
88  MachineInstrBundle.cpp
89  MachineInstr.cpp
90  MachineLICM.cpp
91  MachineLoopInfo.cpp
92  MachineLoopUtils.cpp
93  MachineModuleInfo.cpp
94  MachineModuleInfoImpls.cpp
95  MachineOperand.cpp
96  MachineOptimizationRemarkEmitter.cpp
97  MachineOutliner.cpp
98  MachinePassManager.cpp
99  MachinePipeliner.cpp
100  MachinePostDominators.cpp
101  MachineRegionInfo.cpp
102  MachineRegisterInfo.cpp
103  MachineScheduler.cpp
104  MachineSink.cpp
105  MachineSizeOpts.cpp
106  MachineSSAUpdater.cpp
107  MachineStripDebug.cpp
108  MachineTraceMetrics.cpp
109  MachineVerifier.cpp
110  ModuloSchedule.cpp
111  MultiHazardRecognizer.cpp
112  PatchableFunction.cpp
113  MBFIWrapper.cpp
114  MIRPrinter.cpp
115  MIRPrintingPass.cpp
116  MacroFusion.cpp
117  NonRelocatableStringpool.cpp
118  OptimizePHIs.cpp
119  ParallelCG.cpp
120  PeepholeOptimizer.cpp
121  PHIElimination.cpp
122  PHIEliminationUtils.cpp
123  PostRAHazardRecognizer.cpp
124  PostRASchedulerList.cpp
125  PreISelIntrinsicLowering.cpp
126  ProcessImplicitDefs.cpp
127  PrologEpilogInserter.cpp
128  PseudoProbeInserter.cpp
129  PseudoSourceValue.cpp
130  RDFGraph.cpp
131  RDFLiveness.cpp
132  RDFRegisters.cpp
133  ReachingDefAnalysis.cpp
134  RegAllocBase.cpp
135  RegAllocBasic.cpp
136  RegAllocFast.cpp
137  RegAllocGreedy.cpp
138  RegAllocPBQP.cpp
139  RegisterClassInfo.cpp
140  RegisterCoalescer.cpp
141  RegisterPressure.cpp
142  RegisterScavenging.cpp
143  RenameIndependentSubregs.cpp
144  MachineStableHash.cpp
145  MIRVRegNamerUtils.cpp
146  MIRNamerPass.cpp
147  MIRCanonicalizerPass.cpp
148  RegisterUsageInfo.cpp
149  RegUsageInfoCollector.cpp
150  RegUsageInfoPropagate.cpp
151  ReplaceWithVeclib.cpp
152  ResetMachineFunctionPass.cpp
153  SafeStack.cpp
154  SafeStackLayout.cpp
155  ScheduleDAG.cpp
156  ScheduleDAGInstrs.cpp
157  ScheduleDAGPrinter.cpp
158  ScoreboardHazardRecognizer.cpp
159  ShadowStackGCLowering.cpp
160  ShrinkWrap.cpp
161  SjLjEHPrepare.cpp
162  SlotIndexes.cpp
163  SpillPlacement.cpp
164  SplitKit.cpp
165  StackColoring.cpp
166  StackMapLivenessAnalysis.cpp
167  StackMaps.cpp
168  StackProtector.cpp
169  StackSlotColoring.cpp
170  SwiftErrorValueTracking.cpp
171  SwitchLoweringUtils.cpp
172  TailDuplication.cpp
173  TailDuplicator.cpp
174  TargetFrameLoweringImpl.cpp
175  TargetInstrInfo.cpp
176  TargetLoweringBase.cpp
177  TargetLoweringObjectFileImpl.cpp
178  TargetOptionsImpl.cpp
179  TargetPassConfig.cpp
180  TargetRegisterInfo.cpp
181  TargetSchedule.cpp
182  TargetSubtargetInfo.cpp
183  TypePromotion.cpp
184  TwoAddressInstructionPass.cpp
185  UnreachableBlockElim.cpp
186  ValueTypes.cpp
187  VirtRegMap.cpp
188  WasmEHPrepare.cpp
189  WinEHPrepare.cpp
190  XRayInstrumentation.cpp
191
192  LiveDebugValues/LiveDebugValues.cpp
193  LiveDebugValues/VarLocBasedImpl.cpp
194  LiveDebugValues/InstrRefBasedImpl.cpp
195
196  ADDITIONAL_HEADER_DIRS
197  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
198  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
199
200  LINK_LIBS ${LLVM_PTHREAD_LIB}
201
202  DEPENDS
203  intrinsics_gen
204
205  LINK_COMPONENTS
206  Analysis
207  BitReader
208  BitWriter
209  Core
210  MC
211  ProfileData
212  Scalar
213  Support
214  Target
215  TransformUtils
216  )
217
218add_subdirectory(SelectionDAG)
219add_subdirectory(AsmPrinter)
220add_subdirectory(MIRParser)
221add_subdirectory(GlobalISel)
222