2012-06-21 11:51:26 +02:00
|
|
|
set(LLVM_LINK_COMPONENTS
|
|
|
|
Analysis
|
2013-07-27 03:24:00 +02:00
|
|
|
AsmParser
|
2013-12-10 12:13:32 +01:00
|
|
|
Core
|
|
|
|
Support
|
2019-11-29 20:11:24 +01:00
|
|
|
TransformUtils
|
2012-06-21 11:51:26 +02:00
|
|
|
)
|
|
|
|
|
2020-07-13 23:12:32 +02:00
|
|
|
if (DEFINED LLVM_HAVE_TF_API)
|
|
|
|
LIST(APPEND EXTRA_TESTS TFUtilsTest.cpp)
|
|
|
|
else()
|
|
|
|
LIST(APPEND LLVM_OPTIONAL_SOURCES TFUtilsTest.cpp)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
add_llvm_unittest_with_input_files(AnalysisTests
|
2015-04-14 01:05:45 +02:00
|
|
|
AliasAnalysisTest.cpp
|
2017-06-25 14:55:11 +02:00
|
|
|
AliasSetTrackerTest.cpp
|
2020-04-02 13:41:24 +02:00
|
|
|
AssumeBundleQueriesTest.cpp
|
2018-10-10 08:39:40 +02:00
|
|
|
BasicAliasAnalysisTest.cpp
|
2016-03-23 19:18:26 +01:00
|
|
|
BlockFrequencyInfoTest.cpp
|
2016-12-17 02:02:08 +01:00
|
|
|
BranchProbabilityInfoTest.cpp
|
2017-06-02 15:10:31 +02:00
|
|
|
CallGraphTest.cpp
|
2019-01-03 21:16:33 +01:00
|
|
|
CaptureTrackingTest.cpp
|
2013-07-27 03:26:30 +02:00
|
|
|
CFGTest.cpp
|
2016-02-23 11:02:02 +01:00
|
|
|
CGSCCPassManagerTest.cpp
|
2020-09-15 11:28:25 +02:00
|
|
|
ConstraintSystemTest.cpp
|
2020-05-27 18:33:46 +02:00
|
|
|
DDGTest.cpp
|
2018-10-18 11:38:44 +02:00
|
|
|
DivergenceAnalysisTest.cpp
|
2019-02-06 03:52:52 +01:00
|
|
|
DomTreeUpdaterTest.cpp
|
2017-06-06 22:51:15 +02:00
|
|
|
GlobalsModRefTest.cpp
|
2020-07-22 18:52:53 +02:00
|
|
|
FunctionPropertiesAnalysisTest.cpp
|
2021-06-10 04:16:04 +02:00
|
|
|
InlineCostTest.cpp
|
[IRSim] Adding IR Instruction Mapper
This introduces the IRInstructionMapper, and the associated wrapper for
instructions, IRInstructionData, that maps IR level Instructions to
unsigned integers.
Mapping is done mainly by using the "isSameOperationAs" comparison
between two instructions. If they return true, the opcode, result type,
and operand types of the instruction are used to hash the instruction
with an unsigned integer. The mapper accepts instruction ranges, and
adds each resulting integer to a list, and each wrapped instruction to
a separate list.
At present, branches, phi nodes are not mapping and exception handling
is illegal. Debug instructions are not considered.
The different mapping schemes are tested in
unittests/Analysis/IRSimilarityIdentifierTest.cpp
Recommit of: b04c1a9d3127730c05e8a22a0e931a12a39528df
Differential Revision: https://reviews.llvm.org/D86968
2020-09-17 19:28:09 +02:00
|
|
|
IRSimilarityIdentifierTest.cpp
|
Save the induction binary operator in IVDescriptors for non FP induction variables.
Summary:
Currently InductionBinOps are only saved for FP induction variables, the PR extends it with non FP induction variable, so user of IVDescriptors can query the InductionBinOps for integer induction variables.
The changes in hasUnsafeAlgebra() and getUnsafeAlgebraInst() are required for the existing LIT test cases to pass. As described in the comment of the two functions, one of the requirement to return true is it is a FP induction variable. The checks was not needed because InductionBinOp was not set on non FP cases before.
https://reviews.llvm.org/D60565 depends on the patch.
Committed on behalf of @Whitney (Whitney Tsang).
Reviewers: jdoerfert, kbarton, fhahn, hfinkel, dmgreen, Meinersbur
Reviewed By: jdoerfert
Subscribers: mgorny, hiraditya, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61329
llvm-svn: 360671
2019-05-14 15:26:36 +02:00
|
|
|
IVDescriptorsTest.cpp
|
2014-04-23 10:08:49 +02:00
|
|
|
LazyCallGraphTest.cpp
|
2019-12-10 23:41:30 +01:00
|
|
|
LoadsTest.cpp
|
2017-01-15 22:17:52 +01:00
|
|
|
LoopInfoTest.cpp
|
[LoopNest]: Analysis to discover properties of a loop nest.
Summary: This patch adds an analysis pass to collect loop nests and
summarize properties of the nest (e.g the nest depth, whether the nest
is perfect, what's the innermost loop, etc...).
The motivation for this patch was discussed at the latest meeting of the
LLVM loop group (https://ibm.box.com/v/llvm-loop-nest-analysis) where we
discussed
the unimodular loop transformation framework ( “A Loop Transformation
Theory and an Algorithm to Maximize Parallelism”, Michael E. Wolf and
Monica S. Lam, IEEE TPDS, October 1991). The unimodular framework
provides a convenient way to unify legality checking and code generation
for several loop nest transformations (e.g. loop reversal, loop
interchange, loop skewing) and their compositions. Given that the
unimodular framework is applicable to perfect loop nests this is one
property of interest we expose in this analysis. Several other utility
functions are also provided. In the future other properties of interest
can be added in a centralized place.
Authored By: etiotto
Reviewer: Meinersbur, bmahjour, kbarton, Whitney, dmgreen, fhahn,
reames, hfinkel, jdoerfert, ppc-slack
Reviewed By: Meinersbur
Subscribers: bryanpkc, ppc-slack, mgorny, hiraditya, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D68789
2020-03-03 18:38:19 +01:00
|
|
|
LoopNestTest.cpp
|
2016-12-23 02:18:09 +01:00
|
|
|
MemoryBuiltinsTest.cpp
|
2018-09-03 14:43:26 +02:00
|
|
|
MemorySSATest.cpp
|
2018-06-28 16:13:06 +02:00
|
|
|
PhiValuesTest.cpp
|
2017-01-13 02:34:00 +01:00
|
|
|
ProfileSummaryInfoTest.cpp
|
2012-06-21 11:51:26 +02:00
|
|
|
ScalarEvolutionTest.cpp
|
2019-09-19 19:47:32 +02:00
|
|
|
VectorFunctionABITest.cpp
|
2017-10-16 19:44:17 +02:00
|
|
|
SparsePropagation.cpp
|
2017-01-17 04:10:02 +01:00
|
|
|
TargetLibraryInfoTest.cpp
|
2017-06-02 15:10:31 +02:00
|
|
|
TBAATest.cpp
|
2018-09-03 14:43:26 +02:00
|
|
|
UnrollAnalyzerTest.cpp
|
2019-02-06 03:52:52 +01:00
|
|
|
ValueLatticeTest.cpp
|
2017-01-17 04:09:55 +01:00
|
|
|
ValueTrackingTest.cpp
|
2019-06-10 20:19:05 +02:00
|
|
|
VectorUtilsTest.cpp
|
2020-07-13 23:12:32 +02:00
|
|
|
${EXTRA_TESTS}
|
2020-07-10 07:46:06 +02:00
|
|
|
)
|
2020-07-13 23:12:32 +02:00
|
|
|
|
|
|
|
target_link_libraries(AnalysisTests PRIVATE LLVMTestingSupport)
|