Do not use typeinfo to identify pass in pass manager.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2007-05-01 21:15:47 +00:00
parent e50fb9ac17
commit 794fd75c67
154 changed files with 687 additions and 129 deletions
+6 -2
View File
@@ -39,11 +39,14 @@ namespace {
MachineCodeEmitter &MCE;
bool Is64BitMode;
public:
static const int ID;
explicit Emitter(TargetMachine &tm, MachineCodeEmitter &mce)
: II(0), TD(0), TM(tm), MCE(mce), Is64BitMode(false) {}
: MachineFunctionPass((intptr_t)&ID), II(0), TD(0), TM(tm),
MCE(mce), Is64BitMode(false) {}
Emitter(TargetMachine &tm, MachineCodeEmitter &mce,
const X86InstrInfo &ii, const TargetData &td, bool is64)
: II(&ii), TD(&td), TM(tm), MCE(mce), Is64BitMode(is64) {}
: MachineFunctionPass((intptr_t)&ID), II(&ii), TD(&td), TM(tm),
MCE(mce), Is64BitMode(is64) {}
bool runOnMachineFunction(MachineFunction &MF);
@@ -79,6 +82,7 @@ namespace {
bool isX86_64ExtendedReg(const MachineOperand &MO);
unsigned determineREX(const MachineInstr &MI);
};
const int Emitter::ID = 0;
}
/// createX86CodeEmitterPass - Return a pass that emits the collected X86 code