llvm-project/llvm/test/Analysis
Graham Hunter db8fcb2c25 [LAA] Add recursive IR walker for forked pointers
This builds on the previous forked pointers patch, which only accepted
a single select as the pointer to check. A recursive function to walk
through IR has been added, which searches for either a loop-invariant
or addrec SCEV.

This will only handle a single fork at present, so selects of selects
or a GEP with a select for both the base and offset will be rejected.

There is also a recursion limit with a cli option to change it.

Reviewed By: fhahn, david-arm

Differential Revision: https://reviews.llvm.org/D108699
2022-07-18 12:06:17 +01:00
..
AliasSet
AssumptionCache
BasicAA [IR] Don't use blockaddresses as callbr arguments 2022-07-15 10:18:17 +02:00
BlockFrequencyInfo
BranchProbabilityInfo [BPI] Look-up tables for non-loop branches. NFC. 2021-11-22 10:30:42 +00:00
CFLAliasAnalysis [AAEval] Make compatible with opaque pointers 2022-03-16 10:02:11 +01:00
CallGraph [Statepoint] Update gc.statepoint calls in tests with elementtype (NFC) 2022-02-04 14:15:41 +01:00
CostModel [X86][FP16] Enable vector support for FP16 emulation 2022-07-16 09:38:58 +08:00
CycleInfo [test] Replace/remove some 'opt -analyze' RUN lines 2022-02-09 15:49:53 -08:00
DDG
Delinearization [test] Remove one more unnecessary -analyze RUN line 2022-02-09 16:05:43 -08:00
DemandedBits
DependenceAnalysis Recommit "[SCEV] Look through single value PHIs." (take 3) 2022-06-09 15:20:10 +01:00
DivergenceAnalysis
DominanceFrontier
Dominators Introduce NewPM .dot printers for DomTree 2022-01-05 23:25:40 +00:00
FunctionPropertiesAnalysis
GlobalsModRef [GlobalsModRef] Don't override getModRefBehavior() for CallBase 2022-07-07 10:35:44 +02:00
IRSimilarityIdentifier [IRSim] Ignore debug instructions when creating canonical numbering 2022-04-19 13:18:28 -05:00
IVUsers
LazyCallGraph [Statepoint] Update gc.statepoint calls in tests with elementtype (NFC) 2022-02-04 14:15:41 +01:00
LazyValueAnalysis
LegacyDivergenceAnalysis [test] Replace `-analyze -divergence` with `-passes='print<divergence>'` 2022-02-09 16:09:14 -08:00
Lint [test] Modify some tests to remove implicit -basic-aa in legacy PM RUN lines 2022-03-08 14:35:06 -08:00
LoopAccessAnalysis [LAA] Add recursive IR walker for forked pointers 2022-07-18 12:06:17 +01:00
LoopCacheAnalysis [TargetTransformInfo] Added an opt/llc option for cache line size 2022-06-16 15:57:51 -04:00
LoopInfo
LoopNestAnalysis
MemoryDependenceAnalysis [test] Modify some tests to remove implicit -basic-aa in legacy PM RUN lines 2022-03-08 14:35:06 -08:00
MemorySSA [LoopSimplifyCFG] use poison when replacing dead instructions instead of undef [NFC] 2022-06-26 14:15:55 +01:00
MustExecute
PhiValues
PostDominators
ProfileSummary
RegionInfo [FileCheck] Catch missspelled directives. 2022-05-26 11:37:19 +01:00
ScalarEvolution [ConstExpr] Don't create div/rem expressions 2022-07-05 15:54:53 +02:00
ScopedNoAliasAA [test] Modify some tests to remove implicit -basic-aa in legacy PM RUN lines 2022-03-08 14:35:06 -08:00
StackSafetyAnalysis LTO: Decide upfront whether to use opaque/non-opaque pointer types 2022-06-01 18:05:53 -07:00
TypeBasedAliasAnalysis [ArgPromotion] Remove legacy PM support 2022-06-27 09:42:17 +02:00
ValueTracking [ValueTracking] Add support to deduce a PHI node being a power of 2 if each incoming value is a power of 2. 2022-06-07 18:52:31 +00:00
alias-analysis-uses.ll