summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2004-05-23 20:58:02 +0000
committerTanya Lattner <tonic@nondot.org>2004-05-23 20:58:02 +0000
commit9953d86e635131a1e76ff76194143ae8ebbb4f07 (patch)
tree076672e56019832f90301f2db966bb26483071bf /llvm
parentee4dcae9ba4175b62b139cd63b5b5532e4d56197 (diff)
downloadbcm5719-llvm-9953d86e635131a1e76ff76194143ae8ebbb4f07.tar.gz
bcm5719-llvm-9953d86e635131a1e76ff76194143ae8ebbb4f07.zip
Fixed up my changes to add support for cloning Machine Instructions.
llvm-svn: 13665
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/CodeGen/MachineInstr.h9
-rw-r--r--llvm/lib/CodeGen/MachineInstr.cpp5
2 files changed, 5 insertions, 9 deletions
diff --git a/llvm/include/llvm/CodeGen/MachineInstr.h b/llvm/include/llvm/CodeGen/MachineInstr.h
index b6c18610ad3..a488b45f781 100644
--- a/llvm/include/llvm/CodeGen/MachineInstr.h
+++ b/llvm/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/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index e1e44fd47e0..401cd8b4172 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/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
OpenPOWER on IntegriCloud