1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 13:33:37 +02:00
llvm-mirror/test/Analysis
John Brawn fc3f42231b [SCEV] More accurate calculation of max backedge count of some less-than loops
In loops that look something like
 i = n;
 do {
  ...
 } while(i++ < n+k);
where k is a constant, the maximum backedge count is k (in fact the backedge
count will be either 0 or k, depending on whether n+k wraps). More generally
for LHS < RHS if RHS-(LHS of first comparison) is a constant then the loop will
iterate either 0 or that constant number of times.

This allows for more loop unrolling with the recent upper bound loop unrolling
changes, and I'm working on a patch that will let loop unrolling additionally
make use of the loop being executed either 0 or k times (we need to retain the
loop comparison only on the first unrolled iteration).

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

llvm-svn: 284465
2016-10-18 10:10:53 +00:00
..
AliasSet [AliasSetTracker] Degrade AliasSetTracker when may-alias sets get too large. 2016-08-19 17:05:22 +00:00
AssumptionCache
BasicAA BasicAA should look through functions with returned arguments 2016-07-11 01:32:20 +00:00
BlockFrequencyInfo [BFI] Add new LazyBFI analysis pass 2016-07-13 05:01:48 +00:00
BranchProbabilityInfo Enhance calcColdCallHeuristics for InvokeInst 2016-09-23 17:26:14 +00:00
CallGraph
CFLAliasAnalysis [CFLAA] Remove modref queries from CFLAA. 2016-08-01 18:47:28 +00:00
CostModel [X86][SSE] Add lowering to cvttpd2dq/cvttps2dq for sitofp v2f64/2f32 to 2i32 2016-10-18 07:42:15 +00:00
Delinearization [SCEV] Consider delinearization pattern with extension with identity factor 2016-10-17 11:56:26 +00:00
DemandedBits Port DemandedBits to the new pass manager. 2016-04-18 23:55:01 +00:00
DependenceAnalysis
DivergenceAnalysis NVPTX: Remove the legacy ptx intrinsics 2016-07-07 16:40:17 +00:00
DominanceFrontier
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 Make GlobalsAA ignore dead constant expressions. 2016-10-04 00:03:55 +00:00
LazyCallGraph
Lint
LoopAccessAnalysis [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
LoopInfo
MemoryDependenceAnalysis
PostDominators
ProfileSummary Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
RegionInfo
ScalarEvolution [SCEV] More accurate calculation of max backedge count of some less-than loops 2016-10-18 10:10:53 +00:00
ScopedNoAliasAA
TypeBasedAliasAnalysis
ValueTracking [ValueTracking] Fix crash in GetPointerBaseWithConstantOffset() 2016-10-07 14:23:29 +00:00
alias-analysis-uses.ll