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  MIRPrinter.cpp
103  MIRPrintingPass.cpp
104  MacroFusion.cpp
105  NonRelocatableStringpool.cpp
106  OptimizePHIs.cpp
107  ParallelCG.cpp
108  PeepholeOptimizer.cpp
109  PHIElimination.cpp
110  PHIEliminationUtils.cpp
111  PostRAHazardRecognizer.cpp
112  PostRASchedulerList.cpp
113  PreISelIntrinsicLowering.cpp
114  ProcessImplicitDefs.cpp
115  PrologEpilogInserter.cpp
116  PseudoSourceValue.cpp
117  ReachingDefAnalysis.cpp
118  RegAllocBase.cpp
119  RegAllocBasic.cpp
120  RegAllocFast.cpp
121  RegAllocGreedy.cpp
122  RegAllocPBQP.cpp
123  RegisterClassInfo.cpp
124  RegisterCoalescer.cpp
125  RegisterPressure.cpp
126  RegisterScavenging.cpp
127  RenameIndependentSubregs.cpp
128  MIRVRegNamerUtils.cpp
129  MIRNamerPass.cpp
130  MIRCanonicalizerPass.cpp
131  RegisterUsageInfo.cpp
132  RegUsageInfoCollector.cpp
133  RegUsageInfoPropagate.cpp
134  ResetMachineFunctionPass.cpp
135  SafeStack.cpp
136  SafeStackColoring.cpp
137  SafeStackLayout.cpp
138  ScalarizeMaskedMemIntrin.cpp
139  ScheduleDAG.cpp
140  ScheduleDAGInstrs.cpp
141  ScheduleDAGPrinter.cpp
142  ScoreboardHazardRecognizer.cpp
143  ShadowStackGCLowering.cpp
144  ShrinkWrap.cpp
145  SjLjEHPrepare.cpp
146  SlotIndexes.cpp
147  SpillPlacement.cpp
148  SplitKit.cpp
149  StackColoring.cpp
150  StackMapLivenessAnalysis.cpp
151  StackMaps.cpp
152  StackProtector.cpp
153  StackSlotColoring.cpp
154  SwiftErrorValueTracking.cpp
155  SwitchLoweringUtils.cpp
156  TailDuplication.cpp
157  TailDuplicator.cpp
158  TargetFrameLoweringImpl.cpp
159  TargetInstrInfo.cpp
160  TargetLoweringBase.cpp
161  TargetLoweringObjectFileImpl.cpp
162  TargetOptionsImpl.cpp
163  TargetPassConfig.cpp
164  TargetRegisterInfo.cpp
165  TargetSchedule.cpp
166  TargetSubtargetInfo.cpp
167  TypePromotion.cpp
168  TwoAddressInstructionPass.cpp
169  UnreachableBlockElim.cpp
170  ValueTypes.cpp
171  VirtRegMap.cpp
172  WasmEHPrepare.cpp
173  WinEHPrepare.cpp
174  XRayInstrumentation.cpp
175
176  ADDITIONAL_HEADER_DIRS
177  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
178  ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
179
180  LINK_LIBS ${LLVM_PTHREAD_LIB}
181
182  DEPENDS
183  intrinsics_gen
184  )
185
186add_subdirectory(SelectionDAG)
187add_subdirectory(AsmPrinter)
188add_subdirectory(MIRParser)
189add_subdirectory(GlobalISel)
190