llvm-project/llvm/test/Analysis
Hiroshi Yamauchi dce9def3dd Irreducible loop metadata for more accurate block frequency under PGO.
Summary:
Currently the block frequency analysis is an approximation for irreducible
loops.

The new irreducible loop metadata is used to annotate the irreducible loop
headers with their header weights based on the PGO profile (currently this is
approximated to be evenly weighted) and to help improve the accuracy of the
block frequency analysis for irreducible loops.

This patch is a basic support for this.

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: mehdi_amini, llvm-commits, eraman

Differential Revision: https://reviews.llvm.org/D39028

llvm-svn: 317278
2017-11-02 22:26:51 +00:00
..
AliasSet Use WeakVH instead of WeakTrackingVH in AliasSetTracker's UnkownInsts 2017-05-01 17:07:56 +00:00
AssumptionCache Add files I seem to have dropped in my revert (r290086). 2016-12-19 08:32:13 +00:00
BasicAA Allow inaccessiblememonly and inaccessiblemem_or_argmemonly to be overwriten on call site with operand bundle 2017-11-02 12:18:33 +00:00
BlockFrequencyInfo Irreducible loop metadata for more accurate block frequency under PGO. 2017-11-02 22:26:51 +00:00
BranchProbabilityInfo [BranchProbabilityInfo] Handle irreducible loops. 2017-11-01 15:16:50 +00:00
CFLAliasAnalysis [CFLAA] Add missing break; note things are broken. 2017-05-31 02:35:26 +00:00
CallGraph
ConstantFolding [ConstantFolding] Avoid assert when folding ptrtoint of vectorized GEP 2017-10-24 12:08:11 +00:00
CostModel [AVX512][AVX2]Cost calculation for interleave load/store patterns {v8i8,v16i8,v32i8,v64i8} 2017-10-18 11:41:55 +00:00
Delinearization [SCEV] Assume parameters coming from function calls contain IVs 2017-05-27 15:17:49 +00:00
DemandedBits [Analysis] Support bitreverse in -demanded-bits pass 2017-04-13 16:44:25 +00:00
DependenceAnalysis [DependenceAnalysis] Make sure base objects are the same when comparing GEPs 2017-07-05 21:35:47 +00:00
DivergenceAnalysis AMDGPU: Change DivergenceAnalysis for function arguments 2017-04-19 17:42:34 +00:00
DominanceFrontier
Dominators [Dominators] Don't compute DFS InOut numbers eagerly. 2017-06-30 01:28:21 +00:00
GlobalsModRef [PassManager] Retire cl::opt that have been set for a while. NFCI. 2017-10-02 23:39:20 +00:00
IVUsers Re-enable "[SCEV] Do not fold dominated SCEVUnknown into AddRecExpr start" 2017-05-26 06:47:04 +00:00
LazyCallGraph
LazyValueAnalysis Revert r314435: "[JumpThreading] Preserve DT and LVI across the pass" 2017-09-30 11:57:19 +00:00
Lint [Lint] Avoid failed assertion by fetching the proper pointer type 2017-10-03 06:03:49 +00:00
LoopAccessAnalysis [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs 2017-09-12 07:48:22 +00:00
LoopInfo
MemoryDependenceAnalysis [PM] The assumption cache is fundamentally designed to be self-updating, 2017-01-15 00:26:18 +00:00
MemorySSA Remove readnone from invariant.group.barrier 2017-04-12 20:45:12 +00:00
PostDominators [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
ProfileSummary Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
RegionInfo [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
ScalarEvolution [SCEV] Fix an assertion failure in the max backedge taken count 2017-10-25 21:41:00 +00:00
ScopedNoAliasAA
TypeBasedAliasAnalysis [BasicAA] Use MayAlias instead of PartialAlias for fallback. 2017-06-21 18:25:37 +00:00
ValueTracking [ValueTracking] return zero when there's conflict in known bits of a shift (PR34838) 2017-10-12 17:31:46 +00:00
alias-analysis-uses.ll