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