llvm-project/llvm/test/Analysis
Andrew Litteken e240e6b8b7 [IRSim] Check largest sections first when analyzing similarity
When we check for similarity, right now there is no order to how it is checked, except for via the suffix tree ordering.

We can reduce how much structural analysis we perform by checking the the regions in decreasing size. In doing so, we know that if two large sections match, each of their contained regions also match. This allows us to skip the structural checking for each smaller section. IT does require that we use the large regions as a "bridge" to create the canonical mapping between the two regions.

This reduces compile time significantly for some benchmarks. It will not perform as well for programs with many small items.

Recommit fixes the IRSimilarity tests.

Recommit of: 805ec19d7d

Recommit fixes llvm-sim tests

Recommit of: 082ec26758

Reviewer: paquette
Differential Revision: https://reviews.llvm.org/D139338
2023-03-21 14:49:41 -05:00
..
AliasSet
AssumptionCache Revert "[AssumptionCache] caches @llvm.experimental.guard's" 2023-02-20 18:38:07 +07:00
BasicAA
BlockFrequencyInfo
BranchProbabilityInfo
CallGraph
CostModel [AArch64] Add FP16 broadcast and transpose costs 2023-03-14 21:25:18 +00:00
CycleInfo
DDG
Delinearization [SCEV] Strengthen nowrap flags via ranges for ARs on construction. 2023-03-07 17:10:34 +01:00
DemandedBits
DependenceAnalysis
DivergenceAnalysis [llvm][Uniformity] consistently handle always-uniform instructions 2023-03-10 14:23:40 +05:30
DominanceFrontier
Dominators
DotMachineCFG/AMDGPU
FunctionPropertiesAnalysis
GlobalsModRef
IRSimilarityIdentifier [IRSim] Check largest sections first when analyzing similarity 2023-03-21 14:49:41 -05:00
IVUsers
LazyCallGraph
LazyValueAnalysis [LVI] Don't traverse uses when calculating range at use 2023-02-10 17:06:36 +07:00
LegacyDivergenceAnalysis
Lint
LoopAccessAnalysis [LAA] Fix transitive analysis invalidation bug by implementing LoopAccessInfoManager::invalidate 2023-03-17 09:33:16 +01:00
LoopCacheAnalysis
LoopInfo
LoopNestAnalysis
MemoryDependenceAnalysis [test][MemDep] Correct the 'NOT' checks in the invalidation.ll test case. NFC 2023-03-17 09:33:16 +01:00
MemorySSA [NFC] Fix missing colon in CHECK directives 2023-02-21 00:13:04 +05:30
MustExecute
PhiValues
PostDominators
ProfileSummary
RegionInfo
ScalarEvolution [SCEV] Preserve divisibility and min/max information in applyLoopGuards 2023-03-20 12:04:05 +02:00
ScopedNoAliasAA
StackSafetyAnalysis
TypeBasedAliasAnalysis
ValueTracking Use analyzeKnownBitsFromAndXorOr in SimplifyDemandedUseBits for and/xor/or 2023-02-23 19:52:17 -06:00