aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/MachineInstr.h2
-rw-r--r--lib/CodeGen/MachineInstr.cpp8
2 files changed, 8 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h
index a488b45f78..02c881d64a 100644
--- a/include/llvm/CodeGen/MachineInstr.h
+++ b/include/llvm/CodeGen/MachineInstr.h
@@ -460,7 +460,7 @@ public:
/// 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();
+ MachineInstr* clone() const;
//
// Debugging support
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 401cd8b417..8d2cc932b2 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -78,6 +78,12 @@ MachineInstr::MachineInstr(const MachineInstr &MI) {
//Add operands
for(unsigned i=0; i < MI.getNumOperands(); ++i)
operands.push_back(MachineOperand(MI.getOperand(i)));
+
+ //Set parent, next, and prev to null
+ parent = 0;
+ prev = 0;
+ next = 0;
+
}
@@ -89,7 +95,7 @@ MachineInstr::~MachineInstr()
///clone - 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* MachineInstr::clone() {
+MachineInstr* MachineInstr::clone() const {
return new MachineInstr(*this);
}