1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/include/llvm/Analysis
Andrew Trick cfb48e5133 An algorithm for incrementally updating LoopInfo within a
LoopPassManager. The incremental update should be extremely cheap in
most cases and can be used in places where it's not feasible to
regenerate the entire loop forest.

- "Unloop" is a node in the loop tree whose last backedge has been removed.
- Perform reverse dataflow on the block inside Unloop to propagate the
  nearest loop from the block's successors.
- For reducible CFG, each block in unloop is visited exactly
  once. This is because unloop no longer has a backedge and blocks
  within subloops don't change parents.
- Immediate subloops are summarized by the nearest loop reachable from
  their exits or exits within nested subloops.
- At completion the unloop blocks each have a new parent loop, and
  each immediate subloop has a new parent.

llvm-svn: 136844
2011-08-03 23:50:25 +00:00
..
AliasAnalysis.h Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be 2011-07-29 03:05:32 +00:00
AliasSetTracker.h Fix AliasSetTracker so that it doesn't make any assumptions about instructions it doesn't know about (like the atomic instructions I'm adding). 2011-07-27 00:46:46 +00:00
BlockFrequencyImpl.h Add BlockFrequency::getEntryFrequency() 2011-08-01 15:22:10 +00:00
BlockFrequencyInfo.h Add more constantness in BlockFrequencyInfo. 2011-08-03 21:30:57 +00:00
BranchProbabilityInfo.h Add more constantness in BranchProbabilityInfo. 2011-07-29 19:30:00 +00:00
CallGraph.h Teach the CallGraph to ignore calls to intrinsics. 2011-06-09 19:46:27 +00:00
CaptureTracking.h
CFGPrinter.h Don't include Operator.h from InstrTypes.h. 2011-04-11 09:35:34 +00:00
CodeMetrics.h remove the partial specialization pass. It is unmaintained and has bugs. 2011-01-16 00:27:10 +00:00
ConstantFolding.h Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall. 2011-07-19 13:32:40 +00:00
ConstantsScanner.h
DebugInfo.h There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode. 2011-07-20 22:18:50 +00:00
DIBuilder.h Fix struct member's scope. Patch by Xi Wang. 2011-06-24 22:00:39 +00:00
DominanceFrontier.h There is no point in verifying an analysis that is never updated. 2011-01-18 05:44:04 +00:00
DominatorInternals.h Convert a std::vector to a SmallVector for another 5.4% speedup on domtree. 2011-01-23 06:54:22 +00:00
Dominators.h In the simpler version of the link-eval data structure that we use in dominator 2011-01-23 06:16:06 +00:00
DomPrinter.h
DOTGraphTraitsPass.h
FindUsedTypes.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
InlineCost.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
InstructionSimplify.h Convert SimplifyGEPInst to use ArrayRef. 2011-07-19 15:07:52 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IVUsers.h IVUsers no longer needs to record the phis. 2011-06-21 15:43:52 +00:00
LazyValueInfo.h
LibCallAliasAnalysis.h
LibCallSemantics.h
Lint.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
Loads.h
LoopDependenceAnalysis.h
LoopInfo.h An algorithm for incrementally updating LoopInfo within a 2011-08-03 23:50:25 +00:00
LoopIterator.h An interface for iterating over a loop's blocks in DFS order. 2011-08-03 23:27:28 +00:00
LoopPass.h
MemoryBuiltins.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
MemoryDependenceAnalysis.h Add "unknown" results for memdep, which mean "I don't know whether a dependence for the given instruction exists in the given block". This cleans up all the existing hacks in memdep which represent this concept by returning clobber with various unrelated instructions. 2011-06-15 00:47:34 +00:00
Passes.h The ARC language-specific optimizer. Credit to Dan Gohman. 2011-06-15 23:37:01 +00:00
PathNumbering.h Implementation of path profiling. 2011-01-29 01:09:53 +00:00
PathProfileInfo.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
PHITransAddr.h
PostDominators.h remove postdom frontiers, because it is dead. Forward dom frontiers are 2011-04-05 21:57:17 +00:00
ProfileInfo.h
ProfileInfoLoader.h
ProfileInfoTypes.h This is #included by .c files. Remove C++-style comments. 2011-01-29 21:54:26 +00:00
RegionInfo.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
RegionIterator.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
RegionPass.h Minor change: Fix the typo in RegionPass.h and RegionPass.cpp. 2011-05-05 13:59:38 +00:00
RegionPrinter.h
ScalarEvolution.h SCEV: Use AssertingVH to catch dangling BasicBlock* when passes forget 2011-08-03 18:32:11 +00:00
ScalarEvolutionExpander.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
ScalarEvolutionExpressions.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
ScalarEvolutionNormalization.h
SparsePropagation.h
Trace.h
ValueTracking.h Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef. 2011-07-13 10:26:04 +00:00
Verifier.h