mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Add LeakDetection to MachineInstr.
Move out of line member functions of MachineBasicBlock to MachineBasicBlock.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11497 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetInstrInfo.h"
|
||||
#include "llvm/Target/MRegisterInfo.h"
|
||||
#include "Support/LeakDetector.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
@@ -38,6 +39,8 @@ MachineInstr::MachineInstr(short opcode, unsigned numOperands)
|
||||
numImplicitRefs(0),
|
||||
operands(numOperands, MachineOperand()),
|
||||
parent(0) {
|
||||
// Make sure that we get added to a machine basicblock
|
||||
LeakDetector::addGarbageObject(this);
|
||||
}
|
||||
|
||||
/// MachineInstr ctor - This constructor only does a _reserve_ of the operands,
|
||||
@@ -48,6 +51,8 @@ MachineInstr::MachineInstr(short opcode, unsigned numOperands)
|
||||
MachineInstr::MachineInstr(short opcode, unsigned numOperands, bool XX, bool YY)
|
||||
: Opcode(opcode), numImplicitRefs(0), parent(0) {
|
||||
operands.reserve(numOperands);
|
||||
// Make sure that we get added to a machine basicblock
|
||||
LeakDetector::addGarbageObject(this);
|
||||
}
|
||||
|
||||
/// MachineInstr ctor - Work exactly the same as the ctor above, except that the
|
||||
@@ -58,9 +63,16 @@ MachineInstr::MachineInstr(MachineBasicBlock *MBB, short opcode,
|
||||
: Opcode(opcode), numImplicitRefs(0), parent(0) {
|
||||
assert(MBB && "Cannot use inserting ctor with null basic block!");
|
||||
operands.reserve(numOperands);
|
||||
// Make sure that we get added to a machine basicblock
|
||||
LeakDetector::addGarbageObject(this);
|
||||
MBB->push_back(this); // Add instruction to end of basic block!
|
||||
}
|
||||
|
||||
MachineInstr::~MachineInstr()
|
||||
{
|
||||
LeakDetector::removeGarbageObject(this);
|
||||
}
|
||||
|
||||
/// OperandComplete - Return true if it's illegal to add a new operand
|
||||
///
|
||||
bool MachineInstr::OperandsComplete() const {
|
||||
|
||||
Reference in New Issue
Block a user