1if (DEFINED LLVM_HAVE_TF_AOT OR LLVM_HAVE_TFLITE) 2 include(TensorFlowCompile) 3 set(LLVM_INLINER_MODEL_PATH_DEFAULT "models/inliner-Oz") 4 5 set(LLVM_INLINER_MODEL_CURRENT_URL "<UNSPECIFIED>" CACHE STRING "URL to download the LLVM inliner model") 6 7 if (DEFINED LLVM_HAVE_TF_AOT) 8 tf_find_and_compile( 9 ${LLVM_INLINER_MODEL_PATH} 10 ${LLVM_INLINER_MODEL_CURRENT_URL} 11 ${LLVM_INLINER_MODEL_PATH_DEFAULT} 12 "models/gen-inline-oz-test-model.py" 13 serve 14 action 15 InlinerSizeModel 16 llvm::InlinerSizeModel 17 ) 18 endif() 19 20 if (LLVM_HAVE_TFLITE) 21 list(APPEND MLLinkDeps 22 tensorflow-lite::tensorflow-lite) 23 endif() 24endif() 25 26add_llvm_component_library(LLVMAnalysis 27 AliasAnalysis.cpp 28 AliasAnalysisEvaluator.cpp 29 AliasAnalysisSummary.cpp 30 AliasSetTracker.cpp 31 Analysis.cpp 32 AssumeBundleQueries.cpp 33 AssumptionCache.cpp 34 BasicAliasAnalysis.cpp 35 BlockFrequencyInfo.cpp 36 BlockFrequencyInfoImpl.cpp 37 BranchProbabilityInfo.cpp 38 CFG.cpp 39 CFGPrinter.cpp 40 CFGSCCPrinter.cpp 41 CGSCCPassManager.cpp 42 CallGraph.cpp 43 CallGraphSCCPass.cpp 44 CallPrinter.cpp 45 CaptureTracking.cpp 46 CmpInstAnalysis.cpp 47 CostModel.cpp 48 CodeMetrics.cpp 49 ConstantFolding.cpp 50 CycleAnalysis.cpp 51 DDG.cpp 52 DDGPrinter.cpp 53 ConstraintSystem.cpp 54 Delinearization.cpp 55 DemandedBits.cpp 56 DependenceAnalysis.cpp 57 DependenceGraphBuilder.cpp 58 DevelopmentModeInlineAdvisor.cpp 59 DivergenceAnalysis.cpp 60 DomPrinter.cpp 61 DomTreeUpdater.cpp 62 DominanceFrontier.cpp 63 EHPersonalities.cpp 64 FunctionPropertiesAnalysis.cpp 65 GlobalsModRef.cpp 66 GuardUtils.cpp 67 HeatUtils.cpp 68 IRSimilarityIdentifier.cpp 69 IVDescriptors.cpp 70 IVUsers.cpp 71 ImportedFunctionsInliningStatistics.cpp 72 IndirectCallPromotionAnalysis.cpp 73 InlineCost.cpp 74 InlineAdvisor.cpp 75 InlineOrder.cpp 76 InlineSizeEstimatorAnalysis.cpp 77 InstCount.cpp 78 InstructionPrecedenceTracking.cpp 79 InstructionSimplify.cpp 80 Interval.cpp 81 IntervalPartition.cpp 82 LazyBranchProbabilityInfo.cpp 83 LazyBlockFrequencyInfo.cpp 84 LazyCallGraph.cpp 85 LazyValueInfo.cpp 86 LegacyDivergenceAnalysis.cpp 87 Lint.cpp 88 Loads.cpp 89 Local.cpp 90 LoopAccessAnalysis.cpp 91 LoopAnalysisManager.cpp 92 LoopCacheAnalysis.cpp 93 LoopNestAnalysis.cpp 94 LoopUnrollAnalyzer.cpp 95 LoopInfo.cpp 96 LoopPass.cpp 97 MLInlineAdvisor.cpp 98 MemDepPrinter.cpp 99 MemDerefPrinter.cpp 100 MemoryBuiltins.cpp 101 MemoryDependenceAnalysis.cpp 102 MemoryLocation.cpp 103 MemoryProfileInfo.cpp 104 MemorySSA.cpp 105 MemorySSAUpdater.cpp 106 ModelUnderTrainingRunner.cpp 107 ModuleDebugInfoPrinter.cpp 108 ModuleSummaryAnalysis.cpp 109 MustExecute.cpp 110 NoInferenceModelRunner.cpp 111 ObjCARCAliasAnalysis.cpp 112 ObjCARCAnalysisUtils.cpp 113 ObjCARCInstKind.cpp 114 OptimizationRemarkEmitter.cpp 115 OverflowInstAnalysis.cpp 116 PHITransAddr.cpp 117 PhiValues.cpp 118 PostDominators.cpp 119 ProfileSummaryInfo.cpp 120 PtrUseVisitor.cpp 121 RegionInfo.cpp 122 RegionPass.cpp 123 RegionPrinter.cpp 124 ReplayInlineAdvisor.cpp 125 ScalarEvolution.cpp 126 ScalarEvolutionAliasAnalysis.cpp 127 ScalarEvolutionDivision.cpp 128 ScalarEvolutionNormalization.cpp 129 StackLifetime.cpp 130 StackSafetyAnalysis.cpp 131 SyncDependenceAnalysis.cpp 132 SyntheticCountsUtils.cpp 133 TFLiteUtils.cpp 134 TargetLibraryInfo.cpp 135 TargetTransformInfo.cpp 136 TensorSpec.cpp 137 Trace.cpp 138 TrainingLogger.cpp 139 TypeBasedAliasAnalysis.cpp 140 TypeMetadataUtils.cpp 141 UniformityAnalysis.cpp 142 ScopedNoAliasAA.cpp 143 ValueLattice.cpp 144 ValueLatticeUtils.cpp 145 ValueTracking.cpp 146 VectorUtils.cpp 147 VFABIDemangling.cpp 148 ${GeneratedMLSources} 149 150 ADDITIONAL_HEADER_DIRS 151 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Analysis 152 153 DEPENDS 154 intrinsics_gen 155 ${MLDeps} 156 157 LINK_LIBS 158 ${MLLinkDeps} 159 160 LINK_COMPONENTS 161 BinaryFormat 162 Core 163 Object 164 ProfileData 165 Support 166 TargetParser 167 ) 168