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