llvm-6502/lib/Transforms/Scalar
Evan Cheng d1d6b5cce2 For each loop, keep track of all the IV expressions inserted indexed by
stride. For a set of uses of the IV of a stride which is a multiple
of another stride, do not insert a new IV expression. Rather, reuse the
previous IV and rewrite the uses as uses of IV expression multiplied by
the factor.

e.g.
x = 0 ...; x ++
y = 0 ...; y += 4
then use of y can be rewritten as use of 4*x for x86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26803 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 21:53:05 +00:00
..
ADCE.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
BasicBlockPlacement.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
CondPropagate.cpp Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into 2005-08-04 23:24:19 +00:00
ConstantProp.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
CorrelatedExprs.cpp Improve compatibility with VC2005, patch by Morten Ofstad! 2006-01-26 20:41:32 +00:00
DCE.cpp clean up and modernize this pass. 2005-05-08 18:45:26 +00:00
DeadStoreElimination.cpp Fix a bug where we didn't realize that vaarg reads memory. This fixes 2005-11-30 19:38:22 +00:00
GCSE.cpp Switch these to using ETForest instead of DominatorSet to compute itself. 2006-01-11 05:10:20 +00:00
IndVarSimplify.cpp Fix a crash building 176.gcc due to my recent patch, which only fixed 2005-11-18 18:30:47 +00:00
InstructionCombining.cpp Teach the alignment handling code to look through constant expr casts and GEPs 2006-03-07 01:28:57 +00:00
LICM.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LoopStrengthReduce.cpp For each loop, keep track of all the IV expressions inserted indexed by 2006-03-16 21:53:05 +00:00
LoopUnroll.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
LoopUnswitch.cpp Fix Regression/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll, which 2006-02-22 23:55:00 +00:00
LowerGC.cpp FunctionPass's cannot do IPO things. 2006-01-14 19:30:35 +00:00
LowerPacked.cpp Lowerpacked and SCCP support for the insertelement operation. 2006-01-17 20:06:55 +00:00
Makefile DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
Reassociate.cpp Implement a FIXME, recusively reassociating 2006-03-14 16:04:29 +00:00
Reg2Mem.cpp since reg2mem requires it, might as well mention that it preserves it 2005-11-25 16:04:54 +00:00
ScalarReplAggregates.cpp Fix a miscompilation of 188.ammp with the new CFE. 188.ammp is accessing 2006-03-08 01:05:29 +00:00
SCCP.cpp Implement some more interesting select sccp cases. This implements: 2006-02-08 02:38:11 +00:00
SimplifyCFG.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
TailDuplication.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
TailRecursionElimination.cpp Implement Transforms/TailCallElim/return-undef.ll, a trivial case 2005-11-05 08:21:11 +00:00