#include "llvm/Constant.h"
#include "llvm/DerivedTypes.h"
+// External object describing the machine instructions
+// Initialized only when the TargetMachine class is created
+// and reset when that class is destroyed.
+//
+const MachineInstrDescriptor* TargetInstrDescriptors = 0;
+
//---------------------------------------------------------------------------
// class MachineInstructionInfo
// Interface to description of machine instructions
//---------------------------------------------------------------------------
-MachineInstrInfo::MachineInstrInfo(const TargetMachine& tgt,
- const MachineInstrDescriptor* Desc,
+MachineInstrInfo::MachineInstrInfo(const MachineInstrDescriptor* Desc,
unsigned DescSize,
unsigned NumRealOpCodes)
- : target(tgt), desc(Desc), descSize(DescSize), numRealOpCodes(NumRealOpCodes) {
+ : desc(Desc), descSize(DescSize), numRealOpCodes(NumRealOpCodes) {
// FIXME: TargetInstrDescriptors should not be global
assert(TargetInstrDescriptors == NULL && desc != NULL);
TargetInstrDescriptors = desc; // initialize global variable