Added LSR as a beta pass for alpha
authorAndrew Lenharth <andrewl@lenharth.org>
Wed, 2 Mar 2005 17:21:38 +0000 (17:21 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Wed, 2 Mar 2005 17:21:38 +0000 (17:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20407 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaTargetMachine.cpp

index b077f0744811a35b4c2fe7eb64df1c84f223d931..80a88662a12e745eb52b0545ef6782d7b8c57990 100644 (file)
@@ -26,6 +26,12 @@ namespace {
   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 @@ AlphaTargetMachine::AlphaTargetMachine( const Module &M, IntrinsicLowering *IL)
 bool AlphaTargetMachine::addPassesToEmitAssembly(PassManager &PM,
                                                    std::ostream &Out) {
   
+  if (EnableAlphaLSR)
+    PM.add(createLoopStrengthReducePass());
+
   // FIXME: Implement efficient support for garbage collection intrinsics.
   PM.add(createLowerGCPass());