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
This commit is contained in:
Chris Lattner 2004-07-22 08:34:33 +00:00
parent 53eb37340c
commit b11a4637fe

View File

@ -46,6 +46,9 @@ namespace {
cl::opt<bool>
DisableOptimizations("disable-opt",
cl::desc("Do not run any optimization passes"));
cl::opt<bool>
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