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  MachineInstrBundle.cpp
85  MachineInstr.cpp
86  MachineLICM.cpp
87  MachineLoopInfo.cpp
88  MachineLoopUtils.cpp
89  MachineModuleInfo.cpp
90  MachineModuleInfoImpls.cpp
91  MachineOperand.cpp
92  MachineOptimizationRemarkEmitter.cpp
93  MachineOutliner.cpp
94  MachinePassManager.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  SafeStackLayout.cpp
147  ScalarizeMaskedMemIntrin.cpp
148  ScheduleDAG.cpp
149  ScheduleDAGInstrs.cpp
150  ScheduleDAGPrinter.cpp
151  ScoreboardHazardRecognizer.cpp
152  ShadowStackGCLowering.cpp
153  ShrinkWrap.cpp
154  SjLjEHPrepare.cpp
155  SlotIndexes.cpp
156  SpillPlacement.cpp
157  SplitKit.cpp
158  StackColoring.cpp
159  StackMapLivenessAnalysis.cpp
160  StackMaps.cpp
161  StackProtector.cpp
162  StackSlotColoring.cpp
163  SwiftErrorValueTracking.cpp
164  SwitchLoweringUtils.cpp
165  TailDuplication.cpp
166  TailDuplicator.cpp
167  TargetFrameLoweringImpl.cpp
168  TargetInstrInfo.cpp
169  TargetLoweringBase.cpp
170  TargetLoweringObjectFileImpl.cpp
171  TargetOptionsImpl.cpp
172  TargetPassConfig.cpp
173  TargetRegisterInfo.cpp
174  TargetSchedule.cpp
175  TargetSubtargetInfo.cpp
176  TypePromotion.cpp
177  TwoAddressInstructionPass.cpp
178  UnreachableBlockElim.cpp
179  ValueTypes.cpp
180  VirtRegMap.cpp
181  WasmEHPrepare.cpp
182  WinEHPrepare.cpp
183  XRayInstrumentation.cpp
184
185  LiveDebugValues/LiveDebugValues.cpp
186  LiveDebugValues/VarLocBasedImpl.cpp
187  LiveDebugValues/InstrRefBasedImpl.cpp
188
189  ADDITIONAL_HEADER_DIRS
190  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
191  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
192
193  LINK_LIBS ${LLVM_PTHREAD_LIB}
194
195  DEPENDS
196  intrinsics_gen
197  )
198
199add_subdirectory(SelectionDAG)
200add_subdirectory(AsmPrinter)
201add_subdirectory(MIRParser)
202add_subdirectory(GlobalISel)
203