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  BBSectionsPrepare.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  LiveDebugValues.cpp
53  LiveDebugVariables.cpp
54  LiveIntervals.cpp
55  LiveInterval.cpp
56  LiveIntervalUnion.cpp
57  LivePhysRegs.cpp
58  LiveRangeCalc.cpp
59  LiveIntervalCalc.cpp
60  LiveRangeEdit.cpp
61  LiveRangeShrink.cpp
62  LiveRegMatrix.cpp
63  LiveRegUnits.cpp
64  LiveStacks.cpp
65  LiveVariables.cpp
66  LLVMTargetMachine.cpp
67  LocalStackSlotAllocation.cpp
68  LoopTraversal.cpp
69  LowLevelType.cpp
70  LowerEmuTLS.cpp
71  MachineBasicBlock.cpp
72  MachineBlockFrequencyInfo.cpp
73  MachineBlockPlacement.cpp
74  MachineBranchProbabilityInfo.cpp
75  MachineCombiner.cpp
76  MachineCopyPropagation.cpp
77  MachineCSE.cpp
78  MachineDebugify.cpp
79  MachineDominanceFrontier.cpp
80  MachineDominators.cpp
81  MachineFrameInfo.cpp
82  MachineFunction.cpp
83  MachineFunctionPass.cpp
84  MachineFunctionPrinterPass.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  MachinePipeliner.cpp
96  MachinePostDominators.cpp
97  MachineRegionInfo.cpp
98  MachineRegisterInfo.cpp
99  MachineScheduler.cpp
100  MachineSink.cpp
101  MachineSizeOpts.cpp
102  MachineSSAUpdater.cpp
103  MachineStripDebug.cpp
104  MachineTraceMetrics.cpp
105  MachineVerifier.cpp
106  ModuloSchedule.cpp
107  PatchableFunction.cpp
108  MBFIWrapper.cpp
109  MIRPrinter.cpp
110  MIRPrintingPass.cpp
111  MacroFusion.cpp
112  NonRelocatableStringpool.cpp
113  OptimizePHIs.cpp
114  ParallelCG.cpp
115  PeepholeOptimizer.cpp
116  PHIElimination.cpp
117  PHIEliminationUtils.cpp
118  PostRAHazardRecognizer.cpp
119  PostRASchedulerList.cpp
120  PreISelIntrinsicLowering.cpp
121  ProcessImplicitDefs.cpp
122  PrologEpilogInserter.cpp
123  PseudoSourceValue.cpp
124  RDFGraph.cpp
125  RDFLiveness.cpp
126  RDFRegisters.cpp
127  ReachingDefAnalysis.cpp
128  RegAllocBase.cpp
129  RegAllocBasic.cpp
130  RegAllocFast.cpp
131  RegAllocGreedy.cpp
132  RegAllocPBQP.cpp
133  RegisterClassInfo.cpp
134  RegisterCoalescer.cpp
135  RegisterPressure.cpp
136  RegisterScavenging.cpp
137  RenameIndependentSubregs.cpp
138  MIRVRegNamerUtils.cpp
139  MIRNamerPass.cpp
140  MIRCanonicalizerPass.cpp
141  RegisterUsageInfo.cpp
142  RegUsageInfoCollector.cpp
143  RegUsageInfoPropagate.cpp
144  ResetMachineFunctionPass.cpp
145  SafeStack.cpp
146  SafeStackColoring.cpp
147  SafeStackLayout.cpp
148  ScalarizeMaskedMemIntrin.cpp
149  ScheduleDAG.cpp
150  ScheduleDAGInstrs.cpp
151  ScheduleDAGPrinter.cpp
152  ScoreboardHazardRecognizer.cpp
153  ShadowStackGCLowering.cpp
154  ShrinkWrap.cpp
155  SjLjEHPrepare.cpp
156  SlotIndexes.cpp
157  SpillPlacement.cpp
158  SplitKit.cpp
159  StackColoring.cpp
160  StackMapLivenessAnalysis.cpp
161  StackMaps.cpp
162  StackProtector.cpp
163  StackSlotColoring.cpp
164  SwiftErrorValueTracking.cpp
165  SwitchLoweringUtils.cpp
166  TailDuplication.cpp
167  TailDuplicator.cpp
168  TargetFrameLoweringImpl.cpp
169  TargetInstrInfo.cpp
170  TargetLoweringBase.cpp
171  TargetLoweringObjectFileImpl.cpp
172  TargetOptionsImpl.cpp
173  TargetPassConfig.cpp
174  TargetRegisterInfo.cpp
175  TargetSchedule.cpp
176  TargetSubtargetInfo.cpp
177  TypePromotion.cpp
178  TwoAddressInstructionPass.cpp
179  UnreachableBlockElim.cpp
180  ValueTypes.cpp
181  VirtRegMap.cpp
182  WasmEHPrepare.cpp
183  WinEHPrepare.cpp
184  XRayInstrumentation.cpp
185
186  ADDITIONAL_HEADER_DIRS
187  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
188  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
189
190  LINK_LIBS ${LLVM_PTHREAD_LIB}
191
192  DEPENDS
193  intrinsics_gen
194  )
195
196add_subdirectory(SelectionDAG)
197add_subdirectory(AsmPrinter)
198add_subdirectory(MIRParser)
199add_subdirectory(GlobalISel)
200