llvm/test/Analysis
Sanjoy Das 67c14497b1 [SCEV] Clarify behavior around max backedge taken count
This change makes the split between the "exact" backedge taken count
and the "maximum" backedge taken count a bit more obvious.  Both of
these are upper bounds on the number of times the loop header
executes (since SCEV does not account for most kinds of abnormal
control flow), but the latter is guaranteed to be a constant.

There were a few places where the max backedge taken count *was* a
non-constant; I've changed those to compute constants instead.

At this point, I'm not sure if the constant max backedge count can be
computed by calling `getUnsignedRange(Exact).getUnsignedMax()` without
losing precision.  If it can, we can simplify even further by making
`getMaxBackedgeTakenCount` a thin wrapper around
`getBackedgeTakenCount` and `getUnsignedRange`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303497 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-21 01:47:50 +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 Add '#' to test regex that I forgot in r303025. 2017-05-15 04:58:27 +00:00
BlockFrequencyInfo [BFI] Add new LazyBFI analysis pass 2016-07-13 05:01:48 +00:00
BranchProbabilityInfo [BPI] Reduce the probability of unreachable edge to minimal value greater than 0 2017-05-18 06:11:56 +00:00
CallGraph [CG] Add a new pass manager printer pass for the old call graph and 2016-03-10 11:24:11 +00:00
CFLAliasAnalysis [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
ConstantFolding [ConstantFolding] Fix to prevent constant folding having to repeatedly scan operands. NFCI 2017-03-21 10:17:39 +00:00
CostModel Fix line-endings. 2017-05-19 19:47:29 +00:00
Delinearization [ValueTracking] Make poison propagation more aggressive 2017-02-22 06:52:32 +00:00
DemandedBits [Analysis] Support bitreverse in -demanded-bits pass 2017-04-13 16:44:25 +00:00
DependenceAnalysis [DependenceAnalysis] Check if result of getConstantPart is null 2016-04-04 18:13:18 +00:00
DivergenceAnalysis AMDGPU: Change DivergenceAnalysis for function arguments 2017-04-19 17:42:34 +00:00
DominanceFrontier Another fix the testcase introduced by r261903 - Add the missing matches 2016-02-26 03:41:47 +00:00
Dominators Remove useless pass from the pipeline in test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll. 2016-07-25 16:27:34 +00:00
GlobalsModRef Fix regression from my recent GlobalsAA fix. 2016-10-24 21:47:44 +00:00
IVUsers [IVUsers] Don't bail out of normalizing non-affine add recs 2017-04-25 06:53:25 +00:00
LazyCallGraph [LCG] Spell the printing pass pipeline name for the lazy call graph 2016-03-10 11:24:06 +00:00
LazyValueAnalysis Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
Lint [WinEH] Delete the old landingpad implementation of Windows EH 2015-10-09 23:34:53 +00:00
LoopAccessAnalysis [LV/LoopAccess] Check statically if an unknown dependence distance can be 2017-02-12 09:32:53 +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 Revert "Fix PR 24415 (at least), by making our post-dominator tree behavior sane." 2017-03-02 21:08:37 +00:00
ProfileSummary Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
RegionInfo Fix minor typo introduce in r297014 2017-03-06 16:03:26 +00:00
ScalarEvolution [SCEV] Clarify behavior around max backedge taken count 2017-05-21 01:47:50 +00:00
ScopedNoAliasAA [ScopedNoAliasAA] Make test basic.ll less confusing 2016-03-07 17:49:10 +00:00
TypeBasedAliasAnalysis AA: Use generic intrinsics for tests instead of target specific ones 2017-05-13 00:12:52 +00:00
ValueTracking [ValueTracking] use nonnull argument attribute to eliminate null checks 2017-02-12 15:35:34 +00:00
alias-analysis-uses.ll Add an "addUsedAAAnalyses" helper function 2016-02-09 01:21:57 +00:00