1set(CommonMLSources MLInlineAdvisor.cpp) 2set(ReleaseModeMLSources ReleaseModeModelRunner.cpp) 3set(DevelopmentModeMLSources TFUtils.cpp) 4 5if (DEFINED LLVM_HAVE_TF_AOT OR DEFINED LLVM_HAVE_TF_API) 6 set(MLPolicySources ${CommonMLSources}) 7 if (DEFINED LLVM_HAVE_TF_AOT) 8 include(TensorFlowCompile) 9 tfcompile(models/inliner serve action InlinerSizeModel llvm::InlinerSizeModel) 10 list(APPEND ReleaseModeMLSources 11 $<TARGET_OBJECTS:tf_xla_runtime_objects> 12 ${GENERATED_OBJS} 13 ) 14 LIST(APPEND MLPolicySources ${ReleaseModeMLSources}) 15 else() 16 LIST(APPEND LLVM_OPTIONAL_SOURCES ${ReleaseModeMLSources}) 17 endif() 18 19 if (DEFINED LLVM_HAVE_TF_API) 20 LIST(APPEND MLPolicySources ${DevelopmentModeMLSources}) 21 LIST(APPEND MLLinkDeps ${tensorflow_c_api}) 22 else() 23 LIST(APPEND LLVM_OPTIONAL_SOURCES ${DevelopmentModeMLSources}) 24 endif() 25else() 26 LIST(APPEND LLVM_OPTIONAL_SOURCES 27 ${CommonMLSources} 28 ${DevelopmentModeMLSources} 29 ${ReleaseModeMLSources} 30 ) 31endif() 32 33 34add_llvm_component_library(LLVMAnalysis 35 AliasAnalysis.cpp 36 AliasAnalysisEvaluator.cpp 37 AliasAnalysisSummary.cpp 38 AliasSetTracker.cpp 39 Analysis.cpp 40 AssumeBundleQueries.cpp 41 AssumptionCache.cpp 42 BasicAliasAnalysis.cpp 43 BlockFrequencyInfo.cpp 44 BlockFrequencyInfoImpl.cpp 45 BranchProbabilityInfo.cpp 46 CFG.cpp 47 CFGPrinter.cpp 48 CFLAndersAliasAnalysis.cpp 49 CFLSteensAliasAnalysis.cpp 50 CGSCCPassManager.cpp 51 CallGraph.cpp 52 CallGraphSCCPass.cpp 53 CallPrinter.cpp 54 CaptureTracking.cpp 55 CmpInstAnalysis.cpp 56 CostModel.cpp 57 CodeMetrics.cpp 58 ConstantFolding.cpp 59 DDG.cpp 60 Delinearization.cpp 61 DemandedBits.cpp 62 DependenceAnalysis.cpp 63 DependenceGraphBuilder.cpp 64 DivergenceAnalysis.cpp 65 DomPrinter.cpp 66 DomTreeUpdater.cpp 67 DominanceFrontier.cpp 68 EHPersonalities.cpp 69 GlobalsModRef.cpp 70 GuardUtils.cpp 71 HeatUtils.cpp 72 IVDescriptors.cpp 73 IVUsers.cpp 74 IndirectCallPromotionAnalysis.cpp 75 InlineCost.cpp 76 InlineAdvisor.cpp 77 InlineFeaturesAnalysis.cpp 78 InlineSizeEstimatorAnalysis.cpp 79 InstCount.cpp 80 InstructionPrecedenceTracking.cpp 81 InstructionSimplify.cpp 82 Interval.cpp 83 IntervalPartition.cpp 84 LazyBranchProbabilityInfo.cpp 85 LazyBlockFrequencyInfo.cpp 86 LazyCallGraph.cpp 87 LazyValueInfo.cpp 88 LegacyDivergenceAnalysis.cpp 89 Lint.cpp 90 Loads.cpp 91 LoopAccessAnalysis.cpp 92 LoopAnalysisManager.cpp 93 LoopCacheAnalysis.cpp 94 LoopNestAnalysis.cpp 95 LoopUnrollAnalyzer.cpp 96 LoopInfo.cpp 97 LoopPass.cpp 98 MemDepPrinter.cpp 99 MemDerefPrinter.cpp 100 MemoryBuiltins.cpp 101 MemoryDependenceAnalysis.cpp 102 MemoryLocation.cpp 103 MemorySSA.cpp 104 MemorySSAUpdater.cpp 105 ModuleDebugInfoPrinter.cpp 106 ModuleSummaryAnalysis.cpp 107 MustExecute.cpp 108 ObjCARCAliasAnalysis.cpp 109 ObjCARCAnalysisUtils.cpp 110 ObjCARCInstKind.cpp 111 OptimizationRemarkEmitter.cpp 112 PHITransAddr.cpp 113 PhiValues.cpp 114 PostDominators.cpp 115 ProfileSummaryInfo.cpp 116 PtrUseVisitor.cpp 117 RegionInfo.cpp 118 RegionPass.cpp 119 RegionPrinter.cpp 120 ScalarEvolution.cpp 121 ScalarEvolutionAliasAnalysis.cpp 122 ScalarEvolutionDivision.cpp 123 ScalarEvolutionNormalization.cpp 124 StackLifetime.cpp 125 StackSafetyAnalysis.cpp 126 SyncDependenceAnalysis.cpp 127 SyntheticCountsUtils.cpp 128 TargetLibraryInfo.cpp 129 TargetTransformInfo.cpp 130 Trace.cpp 131 TypeBasedAliasAnalysis.cpp 132 TypeMetadataUtils.cpp 133 ScopedNoAliasAA.cpp 134 ValueLattice.cpp 135 ValueLatticeUtils.cpp 136 ValueTracking.cpp 137 VectorUtils.cpp 138 VFABIDemangling.cpp 139 ${MLPolicySources} 140 141 ADDITIONAL_HEADER_DIRS 142 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Analysis 143 144 DEPENDS 145 intrinsics_gen 146 147 LINK_LIBS 148 ${MLLinkDeps} 149 ) 150