mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
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:
parent
53eb37340c
commit
b11a4637fe
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user