mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-13 08:35:46 +00:00
Expose new GCSE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d80e973cec
commit
e5fb83ebb8
@ -24,6 +24,7 @@
|
||||
#include "llvm/Transforms/IPO/PoolAllocate.h"
|
||||
#include "llvm/Transforms/Scalar/DCE.h"
|
||||
#include "llvm/Transforms/Scalar/ConstantProp.h"
|
||||
#include "llvm/Transforms/Scalar/GCSE.h"
|
||||
#include "llvm/Transforms/Scalar/IndVarSimplify.h"
|
||||
#include "llvm/Transforms/Scalar/InstructionCombining.h"
|
||||
#include "llvm/Transforms/Scalar/PromoteMemoryToRegister.h"
|
||||
@ -38,7 +39,7 @@
|
||||
// Opts enum - All of the transformations we can do...
|
||||
enum Opts {
|
||||
// Basic optimizations
|
||||
dce, die, constprop, inlining, constmerge, strip, mstrip, mergereturn,
|
||||
dce, die, constprop, gcse, inlining, constmerge, strip, mstrip, mergereturn,
|
||||
|
||||
// Miscellaneous Transformations
|
||||
raiseallocs, funcresolve, cleangcc, lowerrefs,
|
||||
@ -73,6 +74,7 @@ struct {
|
||||
{ dce , createDeadCodeEliminationPass },
|
||||
{ die , createDeadInstEliminationPass },
|
||||
{ constprop , createConstantPropogationPass },
|
||||
{ gcse , createGCSEPass },
|
||||
{ inlining , createFunctionInliningPass },
|
||||
{ constmerge , createConstantMergePass },
|
||||
{ strip , createSymbolStrippingPass },
|
||||
@ -117,6 +119,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
|
||||
clEnumVal(dce , "Dead Code Elimination"),
|
||||
clEnumVal(die , "Dead Instruction Elimination"),
|
||||
clEnumVal(constprop , "Simple constant propogation"),
|
||||
clEnumVal(gcse , "Global Common Subexpression Elimination"),
|
||||
clEnumValN(inlining , "inline", "Function integration"),
|
||||
clEnumVal(constmerge , "Merge identical global constants"),
|
||||
clEnumVal(strip , "Strip symbols"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user