Fixed up my changes to add support for cloning Machine Instructions.

llvm-svn: 13665
This commit is contained in:
Tanya Lattner 2004-05-23 20:58:02 +00:00
parent ee4dcae9ba
commit 9953d86e63
2 changed files with 5 additions and 9 deletions

View File

@ -398,9 +398,6 @@ public:
const MachineBasicBlock* getParent() const { return parent; }
MachineBasicBlock* getParent() { return parent; }
//void setParent(const MachineBasicBlock *MBB) { parent = MBB; }
void setParent(MachineBasicBlock *MBB) { parent = MBB; }
/// getOpcode - Returns the opcode of this MachineInstr.
///
const int getOpcode() const { return Opcode; }
@ -461,10 +458,8 @@ public:
MachineOperand::MO_VirtualRegister, V);
}
//Clone Instruction
//Create a copy of 'this' instruction that is
//identical in all ways except the following: The instruction has no
//parent The instruction has no name
/// clone - Create a copy of 'this' instruction that is identical in
/// all ways except the the instruction has no parent, prev, or next.
MachineInstr* clone();
//

View File

@ -73,7 +73,8 @@ MachineInstr::MachineInstr(MachineBasicBlock *MBB, short opcode,
MachineInstr::MachineInstr(const MachineInstr &MI) {
Opcode = MI.getOpcode();
numImplicitRefs = MI.getNumImplicitRefs();
operands.reserve(MI.getNumOperands());
//Add operands
for(unsigned i=0; i < MI.getNumOperands(); ++i)
operands.push_back(MachineOperand(MI.getOperand(i)));
@ -89,7 +90,7 @@ MachineInstr::~MachineInstr()
///all ways except the following: The instruction has no parent The
///instruction has no name
MachineInstr* MachineInstr::clone() {
MachineInstr* newInst = new MachineInstr(*this);
return new MachineInstr(*this);
}
/// OperandComplete - Return true if it's illegal to add a new operand