aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-03-16 21:53:05 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-03-16 21:53:05 +0000
commitd1d6b5cce260808deeac0227b00f6f81a20b2c6f (patch)
treedf35ecccc9fe1d71c82392ee45d624563b672491 /include/llvm/Transforms
parent714554d70717c73e0542ca93df36fa78765f87af (diff)
downloadexternal_llvm-d1d6b5cce260808deeac0227b00f6f81a20b2c6f.zip
external_llvm-d1d6b5cce260808deeac0227b00f6f81a20b2c6f.tar.gz
external_llvm-d1d6b5cce260808deeac0227b00f6f81a20b2c6f.tar.bz2
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
Diffstat (limited to 'include/llvm/Transforms')
-rw-r--r--include/llvm/Transforms/Scalar.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h
index 701460d..c830a60 100644
--- a/include/llvm/Transforms/Scalar.h
+++ b/include/llvm/Transforms/Scalar.h
@@ -132,15 +132,11 @@ FunctionPass *createLICMPass();
//===----------------------------------------------------------------------===//
//
// 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.
-//
-FunctionPass *createLoopStrengthReducePass(unsigned MaxTargetAMSize = 1,
- const TargetLowering *TLI = NULL);
+// 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(const TargetLowering *TLI = NULL);
//===----------------------------------------------------------------------===//
//