Added LSR as a beta pass for alpha

llvm-svn: 20407
diff --git a/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp b/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
index b077f07..80a8866 100644
--- a/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
+++ b/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
@@ -26,6 +26,12 @@
   RegisterTarget<AlphaTargetMachine> X("alpha", "  Alpha (incomplete)");
 }
 
+namespace llvm {
+  cl::opt<bool> EnableAlphaLSR("enable-lsr-for-alpha", 
+                             cl::desc("Enable LSR for Alpha (beta option!)"), 
+                             cl::Hidden);
+}
+
 unsigned AlphaTargetMachine::getModuleMatchQuality(const Module &M) {
   // We strongly match "alpha*".
   std::string TT = M.getTargetTriple();
@@ -54,6 +60,9 @@
 bool AlphaTargetMachine::addPassesToEmitAssembly(PassManager &PM,
                                                    std::ostream &Out) {
   
+  if (EnableAlphaLSR)
+    PM.add(createLoopStrengthReducePass());
+
   // FIXME: Implement efficient support for garbage collection intrinsics.
   PM.add(createLowerGCPass());