1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Analysis
Mark Heffernan fdfe8b7008 This patch de-pessimizes the calculation of loop trip counts in
ScalarEvolution in the presence of multiple exits. Previously all
loops exits had to have identical counts for a loop trip count to be
considered computable. This pessimization was implemented by calling
getBackedgeTakenCount(L) rather than getExitCount(L, ExitingBlock)
inside of ScalarEvolution::getSmallConstantTripCount() (see the FIXME
in the comments of that function). The pessimization was added to fix
a corner case involving undefined behavior (pr/16130). This patch more
precisely handles the undefined behavior case allowing the pessimization
to be removed.

ControlsExit replaces IsSubExpr to more precisely track the case where
undefined behavior is expected to occur. Because undefined behavior is
tracked more precisely we can remove MustExit from ExitLimit. MustExit
was used to track the case where the limit was computed potentially
assuming undefined behavior even if undefined behavior didn't necessarily
occur.

llvm-svn: 219517
2014-10-10 17:39:11 +00:00
..
BasicAA Revert "[BasicAA] Revert "Revert r218714 - Make better use of zext and sign information."" 2014-10-09 19:48:12 +00:00
BlockFrequencyInfo
BranchProbabilityInfo
CallGraph
CFLAliasAnalysis [CFL-AA] Update for handling of globals and more tests 2014-10-06 14:42:56 +00:00
CostModel AVX-512: added cost for some AVX-512 instructions 2014-09-16 07:57:37 +00:00
Delinearization ScalarEvolution: Derive element size from the type of the loaded element 2014-06-08 19:21:20 +00:00
DependenceAnalysis
Dominators
GlobalsModRef Move the complex address expression out of DIVariable and into an extra 2014-10-01 18:55:02 +00:00
LazyCallGraph
Lint
LoopInfo
MemoryDependenceAnalysis
PostDominators
RegionInfo
ScalarEvolution This patch de-pessimizes the calculation of loop trip counts in 2014-10-10 17:39:11 +00:00
ScopedNoAliasAA Convert noalias parameter attributes into noalias metadata during inlining 2014-07-25 15:50:08 +00:00
TypeBasedAliasAnalysis AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00