llvm-6502/include/llvm/Analysis
Andrew Trick 4b4bb71bcd Added a SimplifyIndVar utility to simplify induction variable users
based on ScalarEvolution without changing the induction variable phis.

This utility is the main tool of IndVarSimplifyPass, but the pass also
restructures induction variables in strange ways that are sensitive to
pass ordering. This provides a way for other loop passes to simplify
new uses of induction variables created during transformation. The
utility may be used by any pass that preserves ScalarEvolution. Soon
LoopUnroll will use it.

The net effect in this checkin is to cleanup the IndVarSimplify pass
by factoring out the SimplifyIndVar algorithm into a standalone utility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137197 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-10 03:46:27 +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
CaptureTracking.h
CFGPrinter.h
CodeMetrics.h
ConstantFolding.h
ConstantsScanner.h
DebugInfo.h Provide method to print variable's extended name which includes inline location. 2011-08-09 01:03:14 +00:00
DIBuilder.h
DominanceFrontier.h
DominatorInternals.h
Dominators.h
DomPrinter.h
DOTGraphTraitsPass.h
FindUsedTypes.h
InlineCost.h
InstructionSimplify.h Convert SimplifyGEPInst to use ArrayRef. 2011-07-19 15:07:52 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IVUsers.h Added a SimplifyIndVar utility to simplify induction variable users 2011-08-10 03:46:27 +00:00
LazyValueInfo.h
LibCallAliasAnalysis.h
LibCallSemantics.h
Lint.h
Loads.h
LoopDependenceAnalysis.h
LoopInfo.h Cleanup. Avoid relying on specialization of std::distance. 2011-08-10 00:49:12 +00:00
LoopIterator.h Cleanup. Added LoopBlocksDFS::perform for simple clients. 2011-08-10 01:59:05 +00:00
LoopPass.h
MemoryBuiltins.h
MemoryDependenceAnalysis.h
Passes.h
PathNumbering.h
PathProfileInfo.h
PHITransAddr.h
PostDominators.h
ProfileInfo.h
ProfileInfoLoader.h
ProfileInfoTypes.h
RegionInfo.h
RegionIterator.h
RegionPass.h
RegionPrinter.h
ScalarEvolution.h SCEV: Use AssertingVH to catch dangling BasicBlock* when passes forget 2011-08-03 18:32:11 +00:00
ScalarEvolutionExpander.h
ScalarEvolutionExpressions.h
ScalarEvolutionNormalization.h
SparsePropagation.h
Trace.h
ValueTracking.h
Verifier.h