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 LowerEmuTLS.cpp 57 MachineBasicBlock.cpp 58 MachineBlockFrequencyInfo.cpp 59 MachineBlockPlacement.cpp 60 MachineBranchProbabilityInfo.cpp 61 MachineCSE.cpp 62 MachineCombiner.cpp 63 MachineCopyPropagation.cpp 64 MachineDominators.cpp 65 MachineDominanceFrontier.cpp 66 MachineFunction.cpp 67 MachineFunctionAnalysis.cpp 68 MachineFunctionPass.cpp 69 MachineFunctionPrinterPass.cpp 70 MachineInstr.cpp 71 MachineInstrBundle.cpp 72 MachineLICM.cpp 73 MachineLoopInfo.cpp 74 MachineModuleInfo.cpp 75 MachineModuleInfoImpls.cpp 76 MachinePassRegistry.cpp 77 MachinePostDominators.cpp 78 MachineRegisterInfo.cpp 79 MachineRegionInfo.cpp 80 MachineSSAUpdater.cpp 81 MachineScheduler.cpp 82 MachineSink.cpp 83 MachineTraceMetrics.cpp 84 MachineVerifier.cpp 85 MIRPrinter.cpp 86 MIRPrintingPass.cpp 87 OcamlGC.cpp 88 OptimizePHIs.cpp 89 PHIElimination.cpp 90 PHIEliminationUtils.cpp 91 ParallelCG.cpp 92 Passes.cpp 93 PeepholeOptimizer.cpp 94 PostRASchedulerList.cpp 95 ProcessImplicitDefs.cpp 96 PrologEpilogInserter.cpp 97 PseudoSourceValue.cpp 98 RegAllocBase.cpp 99 RegAllocBasic.cpp 100 RegAllocFast.cpp 101 RegAllocGreedy.cpp 102 RegAllocPBQP.cpp 103 RegisterClassInfo.cpp 104 RegisterCoalescer.cpp 105 RegisterPressure.cpp 106 RegisterScavenging.cpp 107 ScheduleDAG.cpp 108 ScheduleDAGInstrs.cpp 109 ScheduleDAGPrinter.cpp 110 ScoreboardHazardRecognizer.cpp 111 ShrinkWrap.cpp 112 ShadowStackGC.cpp 113 ShadowStackGCLowering.cpp 114 SjLjEHPrepare.cpp 115 SlotIndexes.cpp 116 SpillPlacement.cpp 117 SplitKit.cpp 118 StackColoring.cpp 119 StackProtector.cpp 120 StackSlotColoring.cpp 121 StackMapLivenessAnalysis.cpp 122 StackMaps.cpp 123 StatepointExampleGC.cpp 124 TailDuplication.cpp 125 TargetFrameLoweringImpl.cpp 126 TargetInstrInfo.cpp 127 TargetLoweringBase.cpp 128 TargetLoweringObjectFileImpl.cpp 129 TargetOptionsImpl.cpp 130 TargetRegisterInfo.cpp 131 TargetSchedule.cpp 132 TwoAddressInstructionPass.cpp 133 UnreachableBlockElim.cpp 134 VirtRegMap.cpp 135 WinEHPrepare.cpp 136 137 ADDITIONAL_HEADER_DIRS 138 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen 139 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP 140 141 LINK_LIBS ${system_libs} 142 ) 143 144 add_dependencies(LLVMCodeGen intrinsics_gen) 145 146 add_subdirectory(SelectionDAG) 147 add_subdirectory(AsmPrinter) 148 add_subdirectory(MIRParser) 149