Reverts wrong modification to MachineBlockPlacement & BranchFolding; uses a new strat...
[oota-llvm.git] / lib / CodeGen / CMakeLists.txt
1 set(system_libs)
2 if(CMAKE_HOST_UNIX AND LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD)
3   set(system_libs ${system_libs} pthread)
4 endif()
5
6 add_llvm_library(LLVMCodeGen
7   AggressiveAntiDepBreaker.cpp
8   AllocationOrder.cpp
9   Analysis.cpp
10   AtomicExpandPass.cpp
11   BasicTargetTransformInfo.cpp
12   BranchFolding.cpp
13   CalcSpillWeights.cpp
14   CallingConvLower.cpp
15   CodeGen.cpp
16   CodeGenPrepare.cpp
17   CoreCLRGC.cpp
18   CriticalAntiDepBreaker.cpp
19   DFAPacketizer.cpp
20   DeadMachineInstructionElim.cpp
21   DwarfEHPrepare.cpp
22   EarlyIfConversion.cpp
23   EdgeBundles.cpp
24   ErlangGC.cpp
25   ExecutionDepsFix.cpp
26   ExpandISelPseudos.cpp
27   ExpandPostRAPseudos.cpp
28   LiveDebugValues.cpp
29   FaultMaps.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   InlineSpiller.cpp
39   InterferenceCache.cpp
40   InterleavedAccessPass.cpp
41   IntrinsicLowering.cpp
42   LLVMTargetMachine.cpp
43   LatencyPriorityQueue.cpp
44   LexicalScopes.cpp
45   LiveDebugVariables.cpp
46   LiveInterval.cpp
47   LiveIntervalAnalysis.cpp
48   LiveIntervalUnion.cpp
49   LiveRangeCalc.cpp
50   LiveRangeEdit.cpp
51   LiveRegMatrix.cpp
52   LivePhysRegs.cpp
53   LiveStackAnalysis.cpp
54   LiveVariables.cpp
55   LocalStackSlotAllocation.cpp
56   MachineBasicBlock.cpp
57   MachineBlockFrequencyInfo.cpp
58   MachineBlockPlacement.cpp
59   MachineBranchProbabilityInfo.cpp
60   MachineCSE.cpp
61   MachineCombiner.cpp
62   MachineCopyPropagation.cpp
63   MachineDominators.cpp
64   MachineDominanceFrontier.cpp
65   MachineFunction.cpp
66   MachineFunctionAnalysis.cpp
67   MachineFunctionPass.cpp
68   MachineFunctionPrinterPass.cpp
69   MachineInstr.cpp
70   MachineInstrBundle.cpp
71   MachineLICM.cpp
72   MachineLoopInfo.cpp
73   MachineModuleInfo.cpp
74   MachineModuleInfoImpls.cpp
75   MachinePassRegistry.cpp
76   MachinePostDominators.cpp
77   MachineRegisterInfo.cpp
78   MachineRegionInfo.cpp
79   MachineSSAUpdater.cpp
80   MachineScheduler.cpp
81   MachineSink.cpp
82   MachineTraceMetrics.cpp
83   MachineVerifier.cpp
84   MIRPrinter.cpp
85   MIRPrintingPass.cpp
86   OcamlGC.cpp
87   OptimizePHIs.cpp
88   PHIElimination.cpp
89   PHIEliminationUtils.cpp
90   ParallelCG.cpp
91   Passes.cpp
92   PeepholeOptimizer.cpp
93   PostRASchedulerList.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   ScheduleDAG.cpp
107   ScheduleDAGInstrs.cpp
108   ScheduleDAGPrinter.cpp
109   ScoreboardHazardRecognizer.cpp
110   ShrinkWrap.cpp
111   ShadowStackGC.cpp
112   ShadowStackGCLowering.cpp
113   SjLjEHPrepare.cpp
114   SlotIndexes.cpp
115   SpillPlacement.cpp
116   SplitKit.cpp
117   StackColoring.cpp
118   StackProtector.cpp
119   StackSlotColoring.cpp
120   StackMapLivenessAnalysis.cpp
121   StackMaps.cpp
122   StatepointExampleGC.cpp
123   TailDuplication.cpp
124   TargetFrameLoweringImpl.cpp
125   TargetInstrInfo.cpp
126   TargetLoweringBase.cpp
127   TargetLoweringObjectFileImpl.cpp
128   TargetOptionsImpl.cpp
129   TargetRegisterInfo.cpp
130   TargetSchedule.cpp
131   TwoAddressInstructionPass.cpp
132   UnreachableBlockElim.cpp
133   VirtRegMap.cpp
134   WinEHPrepare.cpp
135
136   ADDITIONAL_HEADER_DIRS
137   ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
138   ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
139
140   LINK_LIBS ${system_libs}
141   )
142
143 add_dependencies(LLVMCodeGen intrinsics_gen)
144
145 add_subdirectory(SelectionDAG)
146 add_subdirectory(AsmPrinter)
147 add_subdirectory(MIRParser)