Run GCSE as part of gccas.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2340 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index 02d7cfe..613f51c 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -15,6 +15,7 @@
 #include "llvm/Transforms/ConstantMerge.h"
 #include "llvm/Transforms/ChangeAllocations.h"
 #include "llvm/Transforms/Scalar/DCE.h"
+#include "llvm/Transforms/Scalar/GCSE.h"
 #include "llvm/Transforms/Scalar/IndVarSimplify.h"
 #include "llvm/Transforms/Scalar/InstructionCombining.h"
 #include "llvm/Transforms/Scalar/PromoteMemoryToRegister.h"
@@ -83,6 +84,7 @@
     Passes.add(createConstantMergePass());          // Merge dup global consts
     Passes.add(createInstructionCombiningPass());   // Combine silly seq's
     Passes.add(createDeadCodeEliminationPass());    // Remove Dead code/vars
+    Passes.add(createGCSEPass());                   // Remove common subexprs
   }
   Passes.add(new WriteBytecodePass(&Out));        // Write bytecode to file...