Expose expression reassociation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2557 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 89b1f1d..4f95293 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -42,7 +42,7 @@
   print, printm, verify,
 
   // More powerful optimizations
-  indvars, instcombine, sccp, adce, raise, mem2reg,
+  indvars, instcombine, sccp, adce, raise, reassociate, mem2reg,
 
   // Instrumentation
   trace, tracem, paths,
@@ -80,6 +80,7 @@
   { sccp       , createSCCPPass                   },
   { adce       , createAggressiveDCEPass          },
   { raise      , createRaisePointerReferencesPass },
+  { reassociate, createReassociatePass            },
   { mem2reg    , createPromoteMemoryToRegister    },
   { lowerrefs,   createDecomposeMultiDimRefsPass  },
 
@@ -126,6 +127,7 @@
   clEnumVal(instcombine, "Combine redundant instructions"),
   clEnumVal(sccp       , "Sparse Conditional Constant Propogation"),
   clEnumVal(adce       , "Aggressive DCE"),
+  clEnumVal(reassociate, "Reassociate expressions"),
   clEnumVal(mem2reg    , "Promote alloca locations to registers"),
 
   clEnumVal(internalize, "Mark all fn's internal except for main"),