mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-19 04:29:21 +00:00
Expose cfg simplification pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2699 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e3a20e733e
commit
814908b33c
@ -39,7 +39,7 @@ static TargetData TD("opt target");
|
||||
enum Opts {
|
||||
// Basic optimizations
|
||||
dce, die, constprop, gcse, licm, inlining, constmerge,
|
||||
strip, mstrip, mergereturn,
|
||||
strip, mstrip, mergereturn, simplifycfg,
|
||||
|
||||
// Miscellaneous Transformations
|
||||
raiseallocs, lowerallocs, funcresolve, cleangcc, lowerrefs,
|
||||
@ -75,16 +75,17 @@ struct {
|
||||
enum Opts OptID;
|
||||
Pass * (*PassCtor)();
|
||||
} OptTable[] = {
|
||||
{ dce , createDeadCodeEliminationPass },
|
||||
{ die , createDeadInstEliminationPass },
|
||||
{ constprop , createConstantPropogationPass },
|
||||
{ gcse , createGCSEPass },
|
||||
{ licm , createLICMPass },
|
||||
{ inlining , createFunctionInliningPass },
|
||||
{ constmerge , createConstantMergePass },
|
||||
{ strip , createSymbolStrippingPass },
|
||||
{ mstrip , createFullSymbolStrippingPass },
|
||||
{ dce , createDeadCodeEliminationPass },
|
||||
{ die , createDeadInstEliminationPass },
|
||||
{ constprop , createConstantPropogationPass },
|
||||
{ gcse , createGCSEPass },
|
||||
{ licm , createLICMPass },
|
||||
{ inlining , createFunctionInliningPass },
|
||||
{ constmerge , createConstantMergePass },
|
||||
{ strip , createSymbolStrippingPass },
|
||||
{ mstrip , createFullSymbolStrippingPass },
|
||||
{ mergereturn, createUnifyFunctionExitNodesPass },
|
||||
{ simplifycfg, createCFGSimplificationPass },
|
||||
|
||||
{ indvars , createIndVarSimplifyPass },
|
||||
{ instcombine, createInstructionCombiningPass },
|
||||
@ -98,7 +99,7 @@ struct {
|
||||
|
||||
{ trace , createTraceValuesPassForBasicBlocks },
|
||||
{ tracem , createTraceValuesPassForFunction },
|
||||
{ paths , createProfilePathsPass },
|
||||
{ paths , createProfilePathsPass },
|
||||
|
||||
{ print , createPrintFunctionPass },
|
||||
{ printm , createPrintModulePass },
|
||||
@ -136,6 +137,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
|
||||
clEnumVal(strip , "Strip symbols"),
|
||||
clEnumVal(mstrip , "Strip module symbols"),
|
||||
clEnumVal(mergereturn, "Unify function exit nodes"),
|
||||
clEnumVal(simplifycfg, "CFG Simplification"),
|
||||
|
||||
clEnumVal(indvars , "Simplify Induction Variables"),
|
||||
clEnumVal(instcombine, "Combine redundant instructions"),
|
||||
|
Loading…
Reference in New Issue
Block a user