Instruction Combination can create a ton of trivially dead instructions. Remove
them with an DIE pass before more expensive optimizations are run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2491 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index a292a71..5d14e3c 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -83,6 +83,7 @@
Passes.add(createRaisePointerReferencesPass()); // Eliminate casts
Passes.add(createPromoteMemoryToRegister()); // Promote alloca's to regs
Passes.add(createInstructionCombiningPass()); // Combine silly seq's
+ Passes.add(createDeadInstEliminationPass()); // Kill InstCombine remnants
Passes.add(createSCCPPass()); // Constant prop with SCCP
Passes.add(createGCSEPass()); // Remove common subexprs
Passes.add(createDeadCodeEliminationPass()); // Remove Dead code/vars