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