llvm-6502/lib/Analysis
Dan Gohman 01ecca20bf Teach getZeroExtendExpr and getSignExtendExpr to use trip-count
information to simplify [sz]ext({a,+,b}) to {zext(a),+,[zs]ext(b)},
as appropriate.

These functions and the trip count code each call into the other, so
this requires careful handling to avoid infinite recursion. During
the initial trip count computation, conservative SCEVs are used,
which are subsequently discarded once the trip count is actually
known.

Among other benefits, this change lets LSR automatically eliminate
some unnecessary zext-inreg and sext-inreg operation where the
operand is an induction variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 20:16:15 +00:00
..
IPA
AliasAnalysis.cpp
AliasAnalysisCounter.cpp
AliasAnalysisEvaluator.cpp
AliasDebugger.cpp
AliasSetTracker.cpp getEntryFor() may invalidate DenseMap iterator. 2009-03-30 18:34:47 +00:00
Analysis.cpp
BasicAliasAnalysis.cpp
CaptureTracking.cpp
CFGPrinter.cpp
CMakeLists.txt
ConstantFolding.cpp use higher level APIs. 2009-04-03 00:02:39 +00:00
DbgInfoPrinter.cpp
DebugInfo.cpp Add a method to check that the subprogram holds debug info for the given Function or not. 2009-04-15 00:06:07 +00:00
InstCount.cpp
Interval.cpp
IntervalPartition.cpp
LibCallAliasAnalysis.cpp
LibCallSemantics.cpp
LiveValues.cpp
LoopInfo.cpp
LoopPass.cpp Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block. 2009-03-25 23:57:48 +00:00
LoopVR.cpp More const qualifiers. 2009-04-18 17:57:20 +00:00
Makefile
MemoryDependenceAnalysis.cpp now that you can put a PointerIntPair in a SmallPtrSet, remove some 2009-03-29 00:24:04 +00:00
PostDominators.cpp
ProfileInfo.cpp
ProfileInfoLoader.cpp
ProfileInfoLoaderPass.cpp
ScalarEvolution.cpp Teach getZeroExtendExpr and getSignExtendExpr to use trip-count 2009-04-27 20:16:15 +00:00
ScalarEvolutionExpander.cpp Change SCEVExpander's expandCodeFor to provide more flexibility 2009-04-23 15:16:49 +00:00
SparsePropagation.cpp
Trace.cpp
ValueTracking.cpp