diff options
author | Tanya Lattner <tonic@nondot.org> | 2004-05-23 20:58:02 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2004-05-23 20:58:02 +0000 |
commit | b5159ed0cb7943e5938782f7693beb18342165ce (patch) | |
tree | 4628c4d85ae0c4ba0e60886297612c3733f678e9 | |
parent | 14d2638e383f27e3b502f2c7a9de2169a8a39a36 (diff) |
Fixed up my changes to add support for cloning Machine Instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13665 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/MachineInstr.h | 9 | ||||
-rw-r--r-- | lib/CodeGen/MachineInstr.cpp | 5 |
2 files changed, 5 insertions, 9 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h index b6c18610ad..a488b45f78 100644 --- a/include/llvm/CodeGen/MachineInstr.h +++ b/include/llvm/CodeGen/MachineInstr.h @@ -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(); // diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index e1e44fd47e..401cd8b417 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -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 |