Move ProfilePaths class into ProfilePaths library, only expose a creation function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1812 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2002-02-26 20:04:59 +00:00
parent dc9a1f5ce8
commit eded4916d6
3 changed files with 29 additions and 26 deletions

View File

@@ -32,10 +32,32 @@
#include "llvm/ConstantVals.h"
#include "llvm/DerivedTypes.h"
#include "llvm/iMemory.h"
#include "llvm/Pass.h"
#include "Graph.h"
using std::vector;
class ProfilePaths: public MethodPass {
public:
bool runOnMethod(Method *M);
// Before this pass, make sure that there is only one
// entry and only one exit node for the method in the CFG of the method
//
void ProfilePaths::getAnalysisUsageInfo(Pass::AnalysisSet &Requires,
Pass::AnalysisSet &Destroyed,
Pass::AnalysisSet &Provided) {
Requires.push_back(UnifyMethodExitNodes::ID);
}
};
// createProfilePathsPass - Create a new pass to add path profiling
//
Pass *createProfilePathsPass() {
return new ProfilePaths();
}
static Node *findBB(std::set<Node *> &st, BasicBlock *BB){
for(std::set<Node *>::iterator si=st.begin(); si!=st.end(); ++si){
if(((*si)->getElement())==BB){
@@ -145,18 +167,3 @@ bool ProfilePaths::runOnMethod(Method *M){
return true; // Always modifies method
}
//Before this pass, make sure that there is only one
//entry and only one exit node for the method in the CFG of the method
void ProfilePaths::getAnalysisUsageInfo(Pass::AnalysisSet &Requires,
Pass::AnalysisSet &Destroyed,
Pass::AnalysisSet &Provided) {
Requires.push_back(UnifyMethodExitNodes::ID);
}