xref: /openbsd-src/gnu/llvm/llvm/lib/Analysis/CMakeLists.txt (revision d415bd752c734aee168c4ee86ff32e8cc249eb16)
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