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

Evan Cheng evan.cheng at apple.com
Mon Mar 13 15:14:35 PST 2006



Changes in directory llvm/include/llvm/Transforms:

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

Added target lowering hooks which LSR consults to make more intelligent
transformation decisions.


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

 Scalar.h |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/Transforms/Scalar.h
diff -u llvm/include/llvm/Transforms/Scalar.h:1.60 llvm/include/llvm/Transforms/Scalar.h:1.61
--- llvm/include/llvm/Transforms/Scalar.h:1.60	Tue Nov 22 16:14:23 2005
+++ llvm/include/llvm/Transforms/Scalar.h	Mon Mar 13 17:14:23 2006
@@ -15,6 +15,8 @@
 #ifndef LLVM_TRANSFORMS_SCALAR_H
 #define LLVM_TRANSFORMS_SCALAR_H
 
+#include <cstdlib>
+
 namespace llvm {
 
 class ModulePass;
@@ -22,6 +24,7 @@
 class GetElementPtrInst;
 class PassInfo;
 class TerminatorInst;
+class TargetLowering;
 
 //===----------------------------------------------------------------------===//
 //
@@ -132,9 +135,12 @@
 // 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.
+// 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);
+FunctionPass *createLoopStrengthReducePass(unsigned MaxTargetAMSize = 1,
+                                           const TargetLowering *TLI = NULL);
 
 //===----------------------------------------------------------------------===//
 //






More information about the llvm-commits mailing list