forked from OSchip/llvm-project
parent
fb7aae5798
commit
71dfc02de9
|
@ -11,7 +11,6 @@
|
||||||
#define LLVM_ASSEMBLY_PRINTMODULEPASS_H
|
#define LLVM_ASSEMBLY_PRINTMODULEPASS_H
|
||||||
|
|
||||||
#include "llvm/Pass.h"
|
#include "llvm/Pass.h"
|
||||||
#include "llvm/Assembly/Writer.h"
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
class PrintModulePass : public Pass {
|
class PrintModulePass : public Pass {
|
||||||
|
@ -32,25 +31,25 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class PrintMethodPass : public MethodPass {
|
class PrintFunctionPass : public MethodPass {
|
||||||
std::string Banner; // String to print before each method
|
std::string Banner; // String to print before each method
|
||||||
std::ostream *Out; // ostream to print on
|
std::ostream *Out; // ostream to print on
|
||||||
bool DeleteStream; // Delete the ostream in our dtor?
|
bool DeleteStream; // Delete the ostream in our dtor?
|
||||||
public:
|
public:
|
||||||
inline PrintMethodPass(const std::string &B, std::ostream *o = &std::cout,
|
inline PrintFunctionPass(const std::string &B, std::ostream *o = &std::cout,
|
||||||
bool DS = false)
|
bool DS = false)
|
||||||
: Banner(B), Out(o), DeleteStream(DS) {
|
: Banner(B), Out(o), DeleteStream(DS) {
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ~PrintMethodPass() {
|
inline ~PrintFunctionPass() {
|
||||||
if (DeleteStream) delete Out;
|
if (DeleteStream) delete Out;
|
||||||
}
|
}
|
||||||
|
|
||||||
// runOnMethod - This pass just prints a banner followed by the method as
|
// runOnMethod - This pass just prints a banner followed by the method as
|
||||||
// it's processed.
|
// it's processed.
|
||||||
//
|
//
|
||||||
bool runOnMethod(Method *M) {
|
bool runOnMethod(Function *F) {
|
||||||
(*Out) << Banner << M;
|
(*Out) << Banner << F;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue