diff options
author | Tanya Lattner <tonic@nondot.org> | 2004-05-23 19:35:12 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2004-05-23 19:35:12 +0000 |
commit | 466b534a570f574ed485d875bbca8454f68dcb52 (patch) | |
tree | fe90790ff8f78957e1b98186cd3380eb41228a4d /include | |
parent | 8e0262f0edec9e40bfe0bdc7f1c70a3f1cbb95c7 (diff) | |
download | external_llvm-466b534a570f574ed485d875bbca8454f68dcb52.zip external_llvm-466b534a570f574ed485d875bbca8454f68dcb52.tar.gz external_llvm-466b534a570f574ed485d875bbca8454f68dcb52.tar.bz2 |
Adding support to clone MachineInstr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13661 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/MachineInstr.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h index dac1c47..b6c1861 100644 --- a/include/llvm/CodeGen/MachineInstr.h +++ b/include/llvm/CodeGen/MachineInstr.h @@ -172,6 +172,7 @@ public: contents.SymbolName = new std::string(M.getSymbolName()); } + ~MachineOperand() { if (isExternalSymbol()) delete contents.SymbolName; @@ -367,7 +368,9 @@ class MachineInstr { // OperandComplete - Return true if it's illegal to add a new operand bool OperandsComplete() const; - MachineInstr(const MachineInstr &); // DO NOT IMPLEMENT + //Constructor used by clone() method + MachineInstr(const MachineInstr&); + void operator=(const MachineInstr&); // DO NOT IMPLEMENT // Intrusive list support @@ -395,6 +398,9 @@ 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; } @@ -455,6 +461,12 @@ 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 + MachineInstr* clone(); + // // Debugging support // |