Simplify induction variables before 'raising' the representation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1418 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index c5ab2df..376aff0 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -14,6 +14,7 @@
 #include "llvm/Optimizations/ConstantProp.h"
 #include "llvm/Optimizations/DCE.h"
 #include "llvm/Transforms/ConstantMerge.h"
+#include "llvm/Transforms/Scalar/IndVarSimplify.h"
 #include "llvm/Bytecode/Writer.h"
 #include "Support/CommandLine.h"
 #include <memory>
@@ -64,6 +65,7 @@
   //
   vector<Pass*> Passes;
   Passes.push_back(new CleanupGCCOutput());        // Fix gccisms
+  Passes.push_back(new InductionVariableSimplify()); // Simplify indvars
   Passes.push_back(new RaisePointerReferences());  // Fix general low level code
   Passes.push_back(new ConstantMerge());           // Merge dup global constants