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