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