[CodeGen] Add a pass to fold null checks into nearby memory operations.
[oota-llvm.git] / lib / CodeGen / CMakeLists.txt
1 add_llvm_library(LLVMCodeGen
2   AggressiveAntiDepBreaker.cpp
3   AllocationOrder.cpp
4   Analysis.cpp
5   AtomicExpandPass.cpp
6   BasicTargetTransformInfo.cpp
7   BranchFolding.cpp
8   CalcSpillWeights.cpp
9   CallingConvLower.cpp
10   CodeGen.cpp
11   CodeGenPrepare.cpp
12   CoreCLRGC.cpp
13   CriticalAntiDepBreaker.cpp
14   DFAPacketizer.cpp
15   DeadMachineInstructionElim.cpp
16   DwarfEHPrepare.cpp
17   EarlyIfConversion.cpp
18   EdgeBundles.cpp
19   ErlangGC.cpp
20   ExecutionDepsFix.cpp
21   ExpandISelPseudos.cpp
22   ExpandPostRAPseudos.cpp
23   FaultMaps.cpp
24   GCMetadata.cpp
25   GCMetadataPrinter.cpp
26   GCRootLowering.cpp
27   GCStrategy.cpp
28   GlobalMerge.cpp
29   IfConversion.cpp
30   ImplicitNullChecks.cpp
31   InlineSpiller.cpp
32   InterferenceCache.cpp
33   IntrinsicLowering.cpp
34   LLVMTargetMachine.cpp
35   LatencyPriorityQueue.cpp
36   LexicalScopes.cpp
37   LiveDebugVariables.cpp
38   LiveInterval.cpp
39   LiveIntervalAnalysis.cpp
40   LiveIntervalUnion.cpp
41   LiveRangeCalc.cpp
42   LiveRangeEdit.cpp
43   LiveRegMatrix.cpp
44   LivePhysRegs.cpp
45   LiveStackAnalysis.cpp
46   LiveVariables.cpp
47   LocalStackSlotAllocation.cpp
48   MachineBasicBlock.cpp
49   MachineBlockFrequencyInfo.cpp
50   MachineBlockPlacement.cpp
51   MachineBranchProbabilityInfo.cpp
52   MachineCSE.cpp
53   MachineCombiner.cpp
54   MachineCopyPropagation.cpp
55   MachineDominators.cpp
56   MachineDominanceFrontier.cpp
57   MachineFunction.cpp
58   MachineFunctionAnalysis.cpp
59   MachineFunctionPass.cpp
60   MachineFunctionPrinterPass.cpp
61   MachineInstr.cpp
62   MachineInstrBundle.cpp
63   MachineLICM.cpp
64   MachineLoopInfo.cpp
65   MachineModuleInfo.cpp
66   MachineModuleInfoImpls.cpp
67   MachinePassRegistry.cpp
68   MachinePostDominators.cpp
69   MachineRegisterInfo.cpp
70   MachineRegionInfo.cpp
71   MachineSSAUpdater.cpp
72   MachineScheduler.cpp
73   MachineSink.cpp
74   MachineTraceMetrics.cpp
75   MachineVerifier.cpp
76   MIRPrintingPass.cpp
77   OcamlGC.cpp
78   OptimizePHIs.cpp
79   PHIElimination.cpp
80   PHIEliminationUtils.cpp
81   Passes.cpp
82   PeepholeOptimizer.cpp
83   PostRASchedulerList.cpp
84   ProcessImplicitDefs.cpp
85   PrologEpilogInserter.cpp
86   PseudoSourceValue.cpp
87   RegAllocBase.cpp
88   RegAllocBasic.cpp
89   RegAllocFast.cpp
90   RegAllocGreedy.cpp
91   RegAllocPBQP.cpp
92   RegisterClassInfo.cpp
93   RegisterCoalescer.cpp
94   RegisterPressure.cpp
95   RegisterScavenging.cpp
96   ScheduleDAG.cpp
97   ScheduleDAGInstrs.cpp
98   ScheduleDAGPrinter.cpp
99   ScoreboardHazardRecognizer.cpp
100   ShrinkWrap.cpp
101   ShadowStackGC.cpp
102   ShadowStackGCLowering.cpp
103   SjLjEHPrepare.cpp
104   SlotIndexes.cpp
105   SpillPlacement.cpp
106   SplitKit.cpp
107   StackColoring.cpp
108   StackProtector.cpp
109   StackSlotColoring.cpp
110   StackMapLivenessAnalysis.cpp
111   StackMaps.cpp
112   StatepointExampleGC.cpp
113   TailDuplication.cpp
114   TargetFrameLoweringImpl.cpp
115   TargetInstrInfo.cpp
116   TargetLoweringBase.cpp
117   TargetLoweringObjectFileImpl.cpp
118   TargetOptionsImpl.cpp
119   TargetRegisterInfo.cpp
120   TargetSchedule.cpp
121   TwoAddressInstructionPass.cpp
122   UnreachableBlockElim.cpp
123   VirtRegMap.cpp
124   WinEHPrepare.cpp
125
126   ADDITIONAL_HEADER_DIRS
127   ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
128   ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
129   )
130
131 add_dependencies(LLVMCodeGen intrinsics_gen)
132
133 add_subdirectory(SelectionDAG)
134 add_subdirectory(AsmPrinter)
135 add_subdirectory(MIRParser)