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  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  GCStrategy.cpp
42  GlobalMerge.cpp
43  HardwareLoops.cpp
44  IfConversion.cpp
45  ImplicitNullChecks.cpp
46  IndirectBrExpandPass.cpp
47  InlineSpiller.cpp
48  InterferenceCache.cpp
49  InterleavedAccessPass.cpp
50  InterleavedLoadCombinePass.cpp
51  IntrinsicLowering.cpp
52  LatencyPriorityQueue.cpp
53  LazyMachineBlockFrequencyInfo.cpp
54  LexicalScopes.cpp
55  LiveDebugVariables.cpp
56  LiveIntervals.cpp
57  LiveInterval.cpp
58  LiveIntervalUnion.cpp
59  LivePhysRegs.cpp
60  LiveRangeCalc.cpp
61  LiveIntervalCalc.cpp
62  LiveRangeEdit.cpp
63  LiveRangeShrink.cpp
64  LiveRegMatrix.cpp
65  LiveRegUnits.cpp
66  LiveStacks.cpp
67  LiveVariables.cpp
68  LLVMTargetMachine.cpp
69  LocalStackSlotAllocation.cpp
70  LoopTraversal.cpp
71  LowLevelType.cpp
72  LowerEmuTLS.cpp
73  MachineBasicBlock.cpp
74  MachineBlockFrequencyInfo.cpp
75  MachineBlockPlacement.cpp
76  MachineBranchProbabilityInfo.cpp
77  MachineCombiner.cpp
78  MachineCopyPropagation.cpp
79  MachineCSE.cpp
80  MachineCheckDebugify.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  MachineOperand.cpp
97  MachineOptimizationRemarkEmitter.cpp
98  MachineOutliner.cpp
99  MachinePassManager.cpp
100  MachinePipeliner.cpp
101  MachinePostDominators.cpp
102  MachineRegionInfo.cpp
103  MachineRegisterInfo.cpp
104  MachineScheduler.cpp
105  MachineSink.cpp
106  MachineSizeOpts.cpp
107  MachineSSAUpdater.cpp
108  MachineStripDebug.cpp
109  MachineTraceMetrics.cpp
110  MachineVerifier.cpp
111  ModuloSchedule.cpp
112  MultiHazardRecognizer.cpp
113  PatchableFunction.cpp
114  MBFIWrapper.cpp
115  MIRPrinter.cpp
116  MIRPrintingPass.cpp
117  MacroFusion.cpp
118  NonRelocatableStringpool.cpp
119  OptimizePHIs.cpp
120  ParallelCG.cpp
121  PeepholeOptimizer.cpp
122  PHIElimination.cpp
123  PHIEliminationUtils.cpp
124  PostRAHazardRecognizer.cpp
125  PostRASchedulerList.cpp
126  PreISelIntrinsicLowering.cpp
127  ProcessImplicitDefs.cpp
128  PrologEpilogInserter.cpp
129  PseudoProbeInserter.cpp
130  PseudoSourceValue.cpp
131  RDFGraph.cpp
132  RDFLiveness.cpp
133  RDFRegisters.cpp
134  ReachingDefAnalysis.cpp
135  RegAllocBase.cpp
136  RegAllocBasic.cpp
137  RegAllocFast.cpp
138  RegAllocGreedy.cpp
139  RegAllocPBQP.cpp
140  RegisterClassInfo.cpp
141  RegisterCoalescer.cpp
142  RegisterPressure.cpp
143  RegisterScavenging.cpp
144  RenameIndependentSubregs.cpp
145  MachineStableHash.cpp
146  MIRVRegNamerUtils.cpp
147  MIRNamerPass.cpp
148  MIRCanonicalizerPass.cpp
149  RegisterUsageInfo.cpp
150  RegUsageInfoCollector.cpp
151  RegUsageInfoPropagate.cpp
152  ReplaceWithVeclib.cpp
153  ResetMachineFunctionPass.cpp
154  SafeStack.cpp
155  SafeStackLayout.cpp
156  ScheduleDAG.cpp
157  ScheduleDAGInstrs.cpp
158  ScheduleDAGPrinter.cpp
159  ScoreboardHazardRecognizer.cpp
160  ShadowStackGCLowering.cpp
161  ShrinkWrap.cpp
162  SjLjEHPrepare.cpp
163  SlotIndexes.cpp
164  SpillPlacement.cpp
165  SplitKit.cpp
166  StackColoring.cpp
167  StackMapLivenessAnalysis.cpp
168  StackMaps.cpp
169  StackProtector.cpp
170  StackSlotColoring.cpp
171  SwiftErrorValueTracking.cpp
172  SwitchLoweringUtils.cpp
173  TailDuplication.cpp
174  TailDuplicator.cpp
175  TargetFrameLoweringImpl.cpp
176  TargetInstrInfo.cpp
177  TargetLoweringBase.cpp
178  TargetLoweringObjectFileImpl.cpp
179  TargetOptionsImpl.cpp
180  TargetPassConfig.cpp
181  TargetRegisterInfo.cpp
182  TargetSchedule.cpp
183  TargetSubtargetInfo.cpp
184  TypePromotion.cpp
185  TwoAddressInstructionPass.cpp
186  UnreachableBlockElim.cpp
187  ValueTypes.cpp
188  VirtRegMap.cpp
189  WasmEHPrepare.cpp
190  WinEHPrepare.cpp
191  XRayInstrumentation.cpp
192
193  LiveDebugValues/LiveDebugValues.cpp
194  LiveDebugValues/VarLocBasedImpl.cpp
195  LiveDebugValues/InstrRefBasedImpl.cpp
196
197  ADDITIONAL_HEADER_DIRS
198  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
199  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
200
201  LINK_LIBS ${LLVM_PTHREAD_LIB}
202
203  DEPENDS
204  intrinsics_gen
205
206  LINK_COMPONENTS
207  Analysis
208  BitReader
209  BitWriter
210  Core
211  MC
212  ProfileData
213  Scalar
214  Support
215  Target
216  TransformUtils
217  )
218
219add_subdirectory(SelectionDAG)
220add_subdirectory(AsmPrinter)
221add_subdirectory(MIRParser)
222add_subdirectory(GlobalISel)
223