Add missing createXxxPass functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19319 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jeff Cohen
2005-01-07 06:57:28 +00:00
parent afc2000a1b
commit d9ed8c8880
6 changed files with 40 additions and 3 deletions

View File

@@ -23,6 +23,7 @@
#include "llvm/DerivedTypes.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Instrumentation.h"
#include "ProfilingUtils.h"
#include <iostream>
@@ -37,6 +38,11 @@ namespace {
"Insert instrumentation for function profiling");
}
ModulePass *llvm::createFunctionProfilerPass()
{
return new FunctionProfiler();
}
bool FunctionProfiler::runOnModule(Module &M) {
Function *Main = M.getMainFunction();
if (Main == 0) {
@@ -77,6 +83,8 @@ namespace {
"Insert instrumentation for block profiling");
}
ModulePass *llvm::createBlockProfilerPass() { return new BlockProfiler(); }
bool BlockProfiler::runOnModule(Module &M) {
Function *Main = M.getMainFunction();
if (Main == 0) {

View File

@@ -22,6 +22,7 @@
#include "llvm/Module.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Instrumentation.h"
#include "ProfilingUtils.h"
#include <iostream>
#include <set>
@@ -36,6 +37,8 @@ namespace {
"Insert instrumentation for edge profiling");
}
ModulePass *llvm::createEdgeProfilerPass() { return new EdgeProfiler(); }
bool EdgeProfiler::runOnModule(Module &M) {
Function *Main = M.getMainFunction();
if (Main == 0) {

View File

@@ -31,6 +31,7 @@
//
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/Instrumentation.h"
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
#include "llvm/Support/CFG.h"
#include "llvm/Constants.h"
@@ -56,6 +57,8 @@ struct ProfilePaths : public FunctionPass {
static RegisterOpt<ProfilePaths> X("paths", "Profile Paths");
FunctionPass *createProfilePathsPass() { return new ProfilePaths(); }
static Node *findBB(std::vector<Node *> &st, BasicBlock *BB){
for(std::vector<Node *>::iterator si=st.begin(); si!=st.end(); ++si){
if(((*si)->getElement())==BB){

View File

@@ -18,6 +18,7 @@
#include "llvm/Module.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Instrumentation.h"
#include "llvm/Instructions.h"
#include "ProfilingUtils.h"
#include "llvm/Support/Debug.h"
@@ -33,6 +34,11 @@ namespace {
"Insert instrumentation for basic block tracing");
}
ModulePass *llvm::createTraceBasicBlockPass()
{
return new TraceBasicBlocks();
}
static void InsertInstrumentationCall (BasicBlock *BB,
const std::string FnName,
unsigned BBNumber) {