[clang] Add test for CWG190 "Layout-compatible POD-struct types" (#121668)
[llvm-project.git] / llvm / lib / Analysis / CMakeLists.txt
blob0db5b80f336cb59c2218f6ec0e16705a28e3f89d
1 if (DEFINED LLVM_HAVE_TF_AOT OR LLVM_HAVE_TFLITE)
2   include(TensorFlowCompile)
3   set(LLVM_INLINER_MODEL_PATH_DEFAULT "models/inliner-Oz")
5   set(LLVM_INLINER_MODEL_CURRENT_URL "<UNSPECIFIED>" CACHE STRING "URL to download the LLVM inliner model")
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()
20   if (LLVM_HAVE_TFLITE)
21     list(APPEND MLLinkDeps
22       tensorflow-lite::tensorflow-lite)
23   endif()
24 endif()
26 add_llvm_component_library(LLVMAnalysis
27   AliasAnalysis.cpp
28   AliasAnalysisEvaluator.cpp
29   AliasSetTracker.cpp
30   Analysis.cpp
31   AssumeBundleQueries.cpp
32   AssumptionCache.cpp
33   BasicAliasAnalysis.cpp
34   BlockFrequencyInfo.cpp
35   BlockFrequencyInfoImpl.cpp
36   BranchProbabilityInfo.cpp
37   CFG.cpp
38   CFGPrinter.cpp
39   CFGSCCPrinter.cpp
40   CGSCCPassManager.cpp
41   CallGraph.cpp
42   CallGraphSCCPass.cpp
43   CallPrinter.cpp
44   CaptureTracking.cpp
45   CmpInstAnalysis.cpp
46   CostModel.cpp
47   CodeMetrics.cpp
48   ConstantFolding.cpp
49   CtxProfAnalysis.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   DomConditionCache.cpp
60   DomPrinter.cpp
61   DomTreeUpdater.cpp
62   DominanceFrontier.cpp
63   DXILResource.cpp
64   DXILMetadataAnalysis.cpp
65   FunctionPropertiesAnalysis.cpp
66   GlobalsModRef.cpp
67   GuardUtils.cpp
68   HeatUtils.cpp
69   IRSimilarityIdentifier.cpp
70   IVDescriptors.cpp
71   IVUsers.cpp
72   ImportedFunctionsInliningStatistics.cpp
73   IndirectCallPromotionAnalysis.cpp
74   InlineCost.cpp
75   InlineAdvisor.cpp
76   InlineOrder.cpp
77   InlineSizeEstimatorAnalysis.cpp
78   InstCount.cpp
79   InstructionPrecedenceTracking.cpp
80   InstructionSimplify.cpp
81   InteractiveModelRunner.cpp
82   LastRunTrackingAnalysis.cpp
83   LazyBranchProbabilityInfo.cpp
84   LazyBlockFrequencyInfo.cpp
85   LazyCallGraph.cpp
86   LazyValueInfo.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   MemDerefPrinter.cpp
99   MemoryBuiltins.cpp
100   MemoryDependenceAnalysis.cpp
101   MemoryLocation.cpp
102   MemoryProfileInfo.cpp
103   MemorySSA.cpp
104   MemorySSAUpdater.cpp
105   ModelUnderTrainingRunner.cpp
106   ModuleDebugInfoPrinter.cpp
107   ModuleSummaryAnalysis.cpp
108   MustExecute.cpp
109   NoInferenceModelRunner.cpp
110   ObjCARCAliasAnalysis.cpp
111   ObjCARCAnalysisUtils.cpp
112   ObjCARCInstKind.cpp
113   OptimizationRemarkEmitter.cpp
114   OverflowInstAnalysis.cpp
115   PHITransAddr.cpp
116   PhiValues.cpp
117   PostDominators.cpp
118   ProfileSummaryInfo.cpp
119   PtrUseVisitor.cpp
120   RegionInfo.cpp
121   RegionPass.cpp
122   RegionPrinter.cpp
123   ReplayInlineAdvisor.cpp
124   ScalarEvolution.cpp
125   ScalarEvolutionAliasAnalysis.cpp
126   ScalarEvolutionDivision.cpp
127   ScalarEvolutionNormalization.cpp
128   StackLifetime.cpp
129   StackSafetyAnalysis.cpp
130   StructuralHash.cpp
131   SyntheticCountsUtils.cpp
132   TFLiteUtils.cpp
133   TargetLibraryInfo.cpp
134   TargetTransformInfo.cpp
135   TensorSpec.cpp
136   Trace.cpp
137   TrainingLogger.cpp
138   TypeBasedAliasAnalysis.cpp
139   TypeMetadataUtils.cpp
140   UniformityAnalysis.cpp
141   ScopedNoAliasAA.cpp
142   ValueLattice.cpp
143   ValueLatticeUtils.cpp
144   ValueTracking.cpp
145   VectorUtils.cpp
146   ${GeneratedMLSources}
148   ADDITIONAL_HEADER_DIRS
149   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Analysis
151   DEPENDS
152   intrinsics_gen
153   ${MLDeps}
155   LINK_LIBS
156   ${MLLinkDeps}
158   LINK_COMPONENTS
159   BinaryFormat
160   Core
161   Object
162   ProfileData
163   Support
164   TargetParser
165   )
167 include(CheckCXXSymbolExists)
168 check_cxx_symbol_exists(logf128 math.h HAS_LOGF128)
169 if(HAS_LOGF128)
170  target_compile_definitions(LLVMAnalysis PRIVATE HAS_LOGF128)
171 endif()