[llvm-commits] CVS: llvm/include/llvm/Transforms/Scalar.h

Evan Cheng evan.cheng at apple.com
Thu Mar 16 13:53:18 PST 2006



Changes in directory llvm/include/llvm/Transforms:

Scalar.h updated: 1.61 -> 1.62
---
Log message:

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.


---
Diffs of the changes:  (+4 -8)

 Scalar.h |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)


Index: llvm/include/llvm/Transforms/Scalar.h
diff -u llvm/include/llvm/Transforms/Scalar.h:1.61 llvm/include/llvm/Transforms/Scalar.h:1.62
--- llvm/include/llvm/Transforms/Scalar.h:1.61	Mon Mar 13 17:14:23 2006
+++ llvm/include/llvm/Transforms/Scalar.h	Thu Mar 16 15:53:05 2006
@@ -132,15 +132,11 @@
 //===----------------------------------------------------------------------===//
 //
 // LoopStrengthReduce - This pass is strength reduces GEP instructions that use
-// a loop's canonical induction variable as one of their indices.  The
-// MaxTargetAMSize is the largest element size that the target architecture
-// can handle in its addressing modes.  Power of two multipliers less than or
-// equal to this value are not reduced. It also takes an optional second
-// parameter used to consult the target machine whether certain transformations
-// are profitable.
+// a loop's canonical induction variable as one of their indices.  It takes an
+// optional parameter used to consult the target machine whether certain
+// transformations are profitable.
 //
-FunctionPass *createLoopStrengthReducePass(unsigned MaxTargetAMSize = 1,
-                                           const TargetLowering *TLI = NULL);
+FunctionPass *createLoopStrengthReducePass(const TargetLowering *TLI = NULL);
 
 //===----------------------------------------------------------------------===//
 //






More information about the llvm-commits mailing list