llvm-project/llvm/test/Analysis
Johannes Doerfert fe799c97fa [MustExecute] Forward iterate over conditional branches
Summary:
If a conditional branch is encountered we can try to find a join block
where the execution is known to continue. This means finding a suitable
block, e.g., the immediate post dominator of the conditional branch, and
proofing control will always reach that block.

This patch implements different techniques that work with and without
provided analysis.

Reviewers: uenoku, sstefan1, hfinkel

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68933
2019-10-31 00:06:43 -05:00
..
AliasSet [Analysis] Make LocationSize pretty-printing more descriptive 2018-10-10 01:35:22 +00:00
AssumptionCache
BasicAA [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
BlockFrequencyInfo
BranchProbabilityInfo [BPI] Adjust the probability for floating point unordered comparison 2019-09-10 17:25:11 +00:00
CFLAliasAnalysis [CFLGraph] Add support for unary fneg instruction. 2019-06-06 19:21:23 +00:00
CallGraph Revert "[CallGraph] Refine call graph for indirect calls with !callees metadata" 2019-08-16 10:59:18 +00:00
ConstantFolding [ConstantFold] Fold extractelement of getelementptr 2019-10-28 18:32:39 +00:00
CostModel [AMDGPU] Improve code size cost model 2019-10-17 12:15:35 +00:00
DDG [DDG] Data Dependence Graph - Root Node 2019-10-01 19:32:42 +00:00
Delinearization
DemandedBits Reapply "[DemandedBits][BDCE] Support vectors of integers" 2018-12-07 15:38:13 +00:00
DependenceAnalysis [NFC] Test commit access 2019-09-16 20:44:15 +00:00
DivergenceAnalysis [SDA] Don't stop divergence propagation at the IPD. 2019-09-18 13:40:22 +00:00
DominanceFrontier IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
Dominators
GlobalsModRef
IVUsers
LazyCallGraph Revert "[CallGraph] Refine call graph for indirect calls with !callees metadata" 2019-08-16 10:59:18 +00:00
LazyValueAnalysis [Analysis] Update Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll 2019-10-23 18:39:10 +03:00
LegacyDivergenceAnalysis [AMDGPU] Add support for 64 bit buffer atomic artihmetic instructions 2019-03-06 17:02:06 +00:00
Lint [Lint] Permit aliasing noalias readonly arguments 2019-04-23 23:43:47 +00:00
LoopAccessAnalysis Revert "[IRBuilder] Fold consistently for or/and whether constant is LHS or RHS" 2019-07-07 22:12:01 +00:00
LoopCacheAnalysis/PowerPC Title: Improve Loop Cache Analysis LIT tests. 2019-08-09 16:18:22 +00:00
LoopInfo Introduce llvm.loop.parallel_accesses and llvm.access.group metadata. 2018-12-20 04:58:07 +00:00
MemoryDependenceAnalysis [AliasAnalysis/NewPassManager] Invalidate AAManager less often. 2019-04-30 22:15:47 +00:00
MemorySSA [MemorySSA] Update for partial unswitch. 2019-10-14 23:52:39 +00:00
MustExecute [MustExecute] Forward iterate over conditional branches 2019-10-31 00:06:43 -05:00
PhiValues
PostDominators
ProfileSummary [ProfileSummary] Add options to override hot and cold count thresholds. 2018-11-02 17:39:31 +00:00
RegionInfo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
ScalarEvolution [SCEV] Simplify umin/max of zext and sext of the same value 2019-10-19 17:23:02 +00:00
ScopedNoAliasAA
StackSafetyAnalysis [stack-safety] Inter-Procedural Analysis implementation 2018-11-26 23:05:58 +00:00
TypeBasedAliasAnalysis [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
ValueTracking [IR][Verifier] Allow IntToPtrInst to be !dereferenceable 2019-07-23 17:19:56 +00:00
alias-analysis-uses.ll