[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