mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 21:31:03 +00:00
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:
parent
afc2000a1b
commit
d9ed8c8880
@ -28,6 +28,20 @@ FunctionPass *createCombineBranchesPass();
|
||||
// Reoptimizer support pass: emit table of global functions
|
||||
ModulePass *createEmitFunctionTablePass ();
|
||||
|
||||
// Reoptimizer support pass: insert function profiling instrumentation
|
||||
ModulePass *createFunctionProfilerPass();
|
||||
|
||||
// Reoptimizer support pass: insert block profiling instrumentation
|
||||
ModulePass *createBlockProfilerPass();
|
||||
|
||||
// Reoptimizer support pass: insert edge profiling instrumentation
|
||||
ModulePass *createEdgeProfilerPass();
|
||||
|
||||
// Reoptimizer support pass: insert basic block tracing instrumentation
|
||||
ModulePass *createTraceBasicBlockPass();
|
||||
|
||||
// Reoptimizer support pass: insert counting of execute paths instrumentation
|
||||
FunctionPass *createProfilePathsPass();
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Support for inserting LLVM code to print values at basic block and function
|
||||
|
@ -40,11 +40,9 @@ namespace {
|
||||
|
||||
std::vector<llvm::BasicBlock*> bbv;
|
||||
|
||||
// The commented out calls below refer to non-existent creation
|
||||
// functions. They will be uncommented as the functions are added.
|
||||
|
||||
(void) llvm::createAggressiveDCEPass();
|
||||
(void) llvm::createArgumentPromotionPass();
|
||||
(void) llvm::createBlockProfilerPass();
|
||||
(void) llvm::createBreakCriticalEdgesPass();
|
||||
(void) llvm::createCFGSimplificationPass();
|
||||
(void) llvm::createCombineBranchesPass();
|
||||
@ -56,8 +54,10 @@ namespace {
|
||||
(void) llvm::createDeadInstEliminationPass();
|
||||
(void) llvm::createDeadStoreEliminationPass();
|
||||
(void) llvm::createDeadTypeEliminationPass();
|
||||
(void) llvm::createEdgeProfilerPass();
|
||||
(void) llvm::createEmitFunctionTablePass();
|
||||
(void) llvm::createFunctionInliningPass();
|
||||
(void) llvm::createFunctionProfilerPass();
|
||||
(void) llvm::createFunctionResolvingPass();
|
||||
(void) llvm::createGCSEPass();
|
||||
(void) llvm::createGlobalDCEPass();
|
||||
@ -74,11 +74,13 @@ namespace {
|
||||
(void) llvm::createLoopUnrollPass();
|
||||
(void) llvm::createLoopUnswitchPass();
|
||||
(void) llvm::createLowerAllocationsPass();
|
||||
(void) llvm::createLowerConstantExpressionsPass();
|
||||
(void) llvm::createLowerGCPass();
|
||||
(void) llvm::createLowerInvokePass();
|
||||
(void) llvm::createLowerPackedPass();
|
||||
(void) llvm::createLowerSetJmpPass();
|
||||
(void) llvm::createLowerSwitchPass();
|
||||
(void) llvm::createProfilePathsPass();
|
||||
(void) llvm::createPromoteMemoryToRegister();
|
||||
(void) llvm::createPruneEHPass();
|
||||
(void) llvm::createRaiseAllocationsPass();
|
||||
@ -89,6 +91,7 @@ namespace {
|
||||
(void) llvm::createSingleLoopExtractorPass();
|
||||
(void) llvm::createTailCallEliminationPass();
|
||||
(void) llvm::createTailDuplicationPass();
|
||||
(void) llvm::createTraceBasicBlockPass();
|
||||
(void) llvm::createTraceValuesPassForBasicBlocks();
|
||||
(void) llvm::createTraceValuesPassForFunction();
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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){
|
||||
|
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user