aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/opt/opt.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 70f82be639..609fd2c1e0 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -25,6 +25,7 @@
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
#include "llvm/Transforms/Instrumentation/TraceValues.h"
#include "llvm/Transforms/Instrumentation/ProfilePaths.h"
+#include "llvm/Transforms/Instrumentation/EmitFunctions.h"
#include "llvm/Target/TargetData.h"
#include "Support/CommandLine.h"
#include "Support/Signals.h"
@@ -53,7 +54,7 @@ enum Opts {
indvars, instcombine, sccp, adce, raise, reassociate, mem2reg, pinodes,
// Instrumentation
- trace, tracem, paths,
+ trace, tracem, paths, emitfuncs,
// Interprocedural optimizations...
internalize, globaldce, swapstructs, sortstructs, poolalloc,
@@ -94,7 +95,7 @@ struct {
{ sccp , createSCCPPass },
{ adce , createAggressiveDCEPass },
{ raise , createRaisePointerReferencesPass },
- { reassociate, createReassociatePass },
+ /* { reassociate, createReassociatePass },*/
{ mem2reg , createPromoteMemoryToRegister },
{ pinodes , createPiNodeInsertionPass },
{ lowerrefs , createDecomposeMultiDimRefsPass },
@@ -102,6 +103,7 @@ struct {
{ trace , createTraceValuesPassForBasicBlocks },
{ tracem , createTraceValuesPassForFunction },
{ paths , createProfilePathsPass },
+ { emitfuncs , createEmitFunctionTablePass },
{ print , createPrintFunctionPass },
{ printm , createPrintModulePass },
{ verify , createVerifierPass },
@@ -162,6 +164,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
clEnumVal(trace , "Insert BB and Function trace code"),
clEnumVal(tracem , "Insert Function trace code only"),
clEnumVal(paths , "Insert path profiling instrumentation"),
+ clEnumVal(emitfuncs , "Insert function pointer table"),
clEnumVal(print , "Print working function to stderr"),
clEnumVal(printm , "Print working module to stderr"),
clEnumVal(verify , "Verify module is well formed"),