mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Expose more xforms to the opt utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@900 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c2c9dd1718
commit
9effd69ca2
@ -1,6 +1,6 @@
|
||||
LEVEL = ../..
|
||||
TOOLNAME = opt
|
||||
USEDLIBS = opt bcreader bcwriter asmwriter analysis vmcore support instrument
|
||||
USEDLIBS = opt bcreader bcwriter asmwriter analysis vmcore support instrument transforms
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
|
@ -13,13 +13,14 @@
|
||||
#include "llvm/Optimizations/AllOpts.h"
|
||||
#include "llvm/Transforms/Instrumentation/TraceValues.h"
|
||||
#include "llvm/Transforms/PrintModulePass.h"
|
||||
#include "llvm/Transforms/ConstantMerge.h"
|
||||
#include <fstream>
|
||||
|
||||
using namespace opt;
|
||||
|
||||
enum Opts {
|
||||
// Basic optimizations
|
||||
dce, constprop, inlining, strip, mstrip,
|
||||
dce, constprop, inlining, mergecons, strip, mstrip,
|
||||
|
||||
// Miscellaneous Transformations
|
||||
trace, tracem, print,
|
||||
@ -35,6 +36,7 @@ struct {
|
||||
{ dce , new opt::DeadCodeElimination() },
|
||||
{ constprop, new opt::ConstantPropogation() },
|
||||
{ inlining , new opt::MethodInlining() },
|
||||
{ mergecons, new ConstantMerge() },
|
||||
{ strip , new opt::SymbolStripping() },
|
||||
{ mstrip , new opt::FullSymbolStripping() },
|
||||
{ indvars , new opt::InductionVariableCannonicalize() },
|
||||
@ -55,6 +57,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
|
||||
clEnumVal(dce , "Dead Code Elimination"),
|
||||
clEnumVal(constprop, "Simple Constant Propogation"),
|
||||
clEnumValN(inlining , "inline", "Method Integration"),
|
||||
clEnumVal(mergecons, "Merge identical global constants"),
|
||||
clEnumVal(strip , "Strip Symbols"),
|
||||
clEnumVal(mstrip , "Strip Module Symbols"),
|
||||
clEnumVal(indvars , "Simplify Induction Variables"),
|
||||
|
Loading…
Reference in New Issue
Block a user