mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
added emitfuncs pass, and disabled reassociate pass (needs fixing)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2885 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0ec220ca37
commit
45db2c77b5
@ -25,6 +25,7 @@
|
|||||||
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
|
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
|
||||||
#include "llvm/Transforms/Instrumentation/TraceValues.h"
|
#include "llvm/Transforms/Instrumentation/TraceValues.h"
|
||||||
#include "llvm/Transforms/Instrumentation/ProfilePaths.h"
|
#include "llvm/Transforms/Instrumentation/ProfilePaths.h"
|
||||||
|
#include "llvm/Transforms/Instrumentation/EmitFunctions.h"
|
||||||
#include "llvm/Target/TargetData.h"
|
#include "llvm/Target/TargetData.h"
|
||||||
#include "Support/CommandLine.h"
|
#include "Support/CommandLine.h"
|
||||||
#include "Support/Signals.h"
|
#include "Support/Signals.h"
|
||||||
@ -53,7 +54,7 @@ enum Opts {
|
|||||||
indvars, instcombine, sccp, adce, raise, reassociate, mem2reg, pinodes,
|
indvars, instcombine, sccp, adce, raise, reassociate, mem2reg, pinodes,
|
||||||
|
|
||||||
// Instrumentation
|
// Instrumentation
|
||||||
trace, tracem, paths,
|
trace, tracem, paths, emitfuncs,
|
||||||
|
|
||||||
// Interprocedural optimizations...
|
// Interprocedural optimizations...
|
||||||
internalize, globaldce, swapstructs, sortstructs, poolalloc,
|
internalize, globaldce, swapstructs, sortstructs, poolalloc,
|
||||||
@ -94,7 +95,7 @@ struct {
|
|||||||
{ sccp , createSCCPPass },
|
{ sccp , createSCCPPass },
|
||||||
{ adce , createAggressiveDCEPass },
|
{ adce , createAggressiveDCEPass },
|
||||||
{ raise , createRaisePointerReferencesPass },
|
{ raise , createRaisePointerReferencesPass },
|
||||||
{ reassociate, createReassociatePass },
|
/* { reassociate, createReassociatePass },*/
|
||||||
{ mem2reg , createPromoteMemoryToRegister },
|
{ mem2reg , createPromoteMemoryToRegister },
|
||||||
{ pinodes , createPiNodeInsertionPass },
|
{ pinodes , createPiNodeInsertionPass },
|
||||||
{ lowerrefs , createDecomposeMultiDimRefsPass },
|
{ lowerrefs , createDecomposeMultiDimRefsPass },
|
||||||
@ -102,6 +103,7 @@ struct {
|
|||||||
{ trace , createTraceValuesPassForBasicBlocks },
|
{ trace , createTraceValuesPassForBasicBlocks },
|
||||||
{ tracem , createTraceValuesPassForFunction },
|
{ tracem , createTraceValuesPassForFunction },
|
||||||
{ paths , createProfilePathsPass },
|
{ paths , createProfilePathsPass },
|
||||||
|
{ emitfuncs , createEmitFunctionTablePass },
|
||||||
{ print , createPrintFunctionPass },
|
{ print , createPrintFunctionPass },
|
||||||
{ printm , createPrintModulePass },
|
{ printm , createPrintModulePass },
|
||||||
{ verify , createVerifierPass },
|
{ verify , createVerifierPass },
|
||||||
@ -162,6 +164,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
|
|||||||
clEnumVal(trace , "Insert BB and Function trace code"),
|
clEnumVal(trace , "Insert BB and Function trace code"),
|
||||||
clEnumVal(tracem , "Insert Function trace code only"),
|
clEnumVal(tracem , "Insert Function trace code only"),
|
||||||
clEnumVal(paths , "Insert path profiling instrumentation"),
|
clEnumVal(paths , "Insert path profiling instrumentation"),
|
||||||
|
clEnumVal(emitfuncs , "Insert function pointer table"),
|
||||||
clEnumVal(print , "Print working function to stderr"),
|
clEnumVal(print , "Print working function to stderr"),
|
||||||
clEnumVal(printm , "Print working module to stderr"),
|
clEnumVal(printm , "Print working module to stderr"),
|
||||||
clEnumVal(verify , "Verify module is well formed"),
|
clEnumVal(verify , "Verify module is well formed"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user