From b11a4637fed6fd9daef460ed85bf457851bcf49f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 22 Jul 2004 08:34:33 +0000 Subject: [PATCH] Remove redundant SCCP pass Add new DSE pass. Add a temporary option to disable it in case we need it This is going in after the July 22 nightly tester run, so we'll wait until the 23rd to see it :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15104 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/gccas/gccas.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index 50ce920d0d9..1d5f9d1ff81 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -46,6 +46,9 @@ namespace { cl::opt DisableOptimizations("disable-opt", cl::desc("Do not run any optimization passes")); + + cl::opt + DisableDSE("disable-dse", cl::desc("Do not run dead store elimination")); } @@ -99,11 +102,12 @@ void AddConfiguredTransformationPasses(PassManager &PM) { addPass(PM, createLoadValueNumberingPass()); // GVN for load instructions addPass(PM, createGCSEPass()); // Remove common subexprs addPass(PM, createSCCPPass()); // Constant prop with SCCP - addPass(PM, createSCCPPass()); // Constant prop with SCCP // Run instcombine after redundancy elimination to exploit opportunities // opened up by them. addPass(PM, createInstructionCombiningPass()); + if (!DisableDSE) + addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores addPass(PM, createAggressiveDCEPass()); // SSA based 'Aggressive DCE' addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types