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