mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
Expose dead instruction elimination pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1877 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -35,7 +35,7 @@
|
|||||||
// Opts enum - All of the transformations we can do...
|
// Opts enum - All of the transformations we can do...
|
||||||
enum Opts {
|
enum Opts {
|
||||||
// Basic optimizations
|
// Basic optimizations
|
||||||
dce, constprop, inlining, constmerge, strip, mstrip, mergereturn,
|
dce, die, constprop, inlining, constmerge, strip, mstrip, mergereturn,
|
||||||
|
|
||||||
// Miscellaneous Transformations
|
// Miscellaneous Transformations
|
||||||
raiseallocs, cleangcc,
|
raiseallocs, cleangcc,
|
||||||
@ -64,6 +64,7 @@ struct {
|
|||||||
Pass * (*PassCtor)();
|
Pass * (*PassCtor)();
|
||||||
} OptTable[] = {
|
} OptTable[] = {
|
||||||
{ dce , createDeadCodeEliminationPass },
|
{ dce , createDeadCodeEliminationPass },
|
||||||
|
{ die , createDeadInstEliminationPass },
|
||||||
{ constprop , createConstantPropogationPass },
|
{ constprop , createConstantPropogationPass },
|
||||||
{ inlining , createMethodInliningPass },
|
{ inlining , createMethodInliningPass },
|
||||||
{ constmerge , createConstantMergePass },
|
{ constmerge , createConstantMergePass },
|
||||||
@ -102,6 +103,7 @@ cl::Flag Quiet ("q", "Don't print modifying pass names", 0, false);
|
|||||||
cl::Alias QuietA ("quiet", "Alias for -q", cl::NoFlags, Quiet);
|
cl::Alias QuietA ("quiet", "Alias for -q", cl::NoFlags, Quiet);
|
||||||
cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
|
cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
|
||||||
clEnumVal(dce , "Dead Code Elimination"),
|
clEnumVal(dce , "Dead Code Elimination"),
|
||||||
|
clEnumVal(die , "Dead Instruction Elimination"),
|
||||||
clEnumVal(constprop , "Simple constant propogation"),
|
clEnumVal(constprop , "Simple constant propogation"),
|
||||||
clEnumValN(inlining , "inline", "Method integration"),
|
clEnumValN(inlining , "inline", "Method integration"),
|
||||||
clEnumVal(constmerge , "Merge identical global constants"),
|
clEnumVal(constmerge , "Merge identical global constants"),
|
||||||
|
Reference in New Issue
Block a user