aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-05-01 21:15:47 +0000
committerDevang Patel <dpatel@apple.com>2007-05-01 21:15:47 +0000
commit09f162ca6a10446d6377b957f3a58ac92ce38306 (patch)
treeb41e816449956582e447ab616707e1afbf1a88fe /llvm/lib/CodeGen/MachineFunction.cpp
parenta612049dd849d1e659eeaeefbcf82147af7f669f (diff)
downloadllvm-09f162ca6a10446d6377b957f3a58ac92ce38306.zip
llvm-09f162ca6a10446d6377b957f3a58ac92ce38306.tar.gz
llvm-09f162ca6a10446d6377b957f3a58ac92ce38306.tar.bz2
Do not use typeinfo to identify pass in pass manager.
llvm-svn: 36632
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineFunction.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp
index 29eee36..9b43e65 100644
--- a/llvm/lib/CodeGen/MachineFunction.cpp
+++ b/llvm/lib/CodeGen/MachineFunction.cpp
@@ -44,11 +44,13 @@ void MachineFunctionPass::virtfn() {}
namespace {
struct VISIBILITY_HIDDEN Printer : public MachineFunctionPass {
+ static const int ID;
+
std::ostream *OS;
const std::string Banner;
- Printer (std::ostream *_OS, const std::string &_Banner) :
- OS (_OS), Banner (_Banner) { }
+ Printer (std::ostream *_OS, const std::string &_Banner)
+ : MachineFunctionPass((intptr_t)&ID), OS (_OS), Banner (_Banner) { }
const char *getPassName() const { return "MachineFunction Printer"; }
@@ -62,6 +64,7 @@ namespace {
return false;
}
};
+ const int Printer::ID = 0;
}
/// Returns a newly-created MachineFunction Printer pass. The default output
@@ -74,6 +77,9 @@ FunctionPass *llvm::createMachineFunctionPrinterPass(std::ostream *OS,
namespace {
struct VISIBILITY_HIDDEN Deleter : public MachineFunctionPass {
+ static const int ID;
+ Deleter() : MachineFunctionPass((intptr_t)&ID) {}
+
const char *getPassName() const { return "Machine Code Deleter"; }
bool runOnMachineFunction(MachineFunction &MF) {
@@ -82,6 +88,7 @@ namespace {
return true;
}
};
+ const int Deleter::ID = 0;
}
/// MachineCodeDeletion Pass - This pass deletes all of the machine code for