diff options
| author | Dan Gohman <gohman@apple.com> | 2009-04-15 01:17:37 +0000 | 
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2009-04-15 01:17:37 +0000 | 
| commit | 89892b05c775e632c387d3ed7354980979274b39 (patch) | |
| tree | a04b13ebd0ebfefd918eb701b91102868114be97 | |
| parent | 7ffb7d57286ef55b6e98ccde90ecbbc6ff6bbbd9 (diff) | |
| download | bcm5719-llvm-89892b05c775e632c387d3ed7354980979274b39.tar.gz bcm5719-llvm-89892b05c775e632c387d3ed7354980979274b39.zip  | |
Give RemoveRegOperandFromRegInfo a comment and move the
code out of line.
llvm-svn: 69124
| -rw-r--r-- | llvm/include/llvm/CodeGen/MachineOperand.h | 15 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/MachineInstr.cpp | 15 | 
2 files changed, 18 insertions, 12 deletions
diff --git a/llvm/include/llvm/CodeGen/MachineOperand.h b/llvm/include/llvm/CodeGen/MachineOperand.h index 820c6ef3834..7a4168447b6 100644 --- a/llvm/include/llvm/CodeGen/MachineOperand.h +++ b/llvm/include/llvm/CodeGen/MachineOperand.h @@ -427,18 +427,9 @@ private:    /// explicitly nulled out.    void AddRegOperandToRegInfo(MachineRegisterInfo *RegInfo); -  void RemoveRegOperandFromRegInfo() { -    assert(isOnRegUseList() && "Reg operand is not on a use list"); -    // Unlink this from the doubly linked list of operands. -    MachineOperand *NextOp = Contents.Reg.Next; -    *Contents.Reg.Prev = NextOp;  -    if (NextOp) { -      assert(NextOp->getReg() == getReg() && "Corrupt reg use/def chain!"); -      NextOp->Contents.Reg.Prev = Contents.Reg.Prev; -    } -    Contents.Reg.Prev = 0; -    Contents.Reg.Next = 0; -  } +  /// RemoveRegOperandFromRegInfo - Remove this register operand from the +  /// MachineRegisterInfo it is linked with. +  void RemoveRegOperandFromRegInfo();  };  inline std::ostream &operator<<(std::ostream &OS, const MachineOperand &MO) { diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp index a227f25190a..a934b76b6d5 100644 --- a/llvm/lib/CodeGen/MachineInstr.cpp +++ b/llvm/lib/CodeGen/MachineInstr.cpp @@ -68,6 +68,21 @@ void MachineOperand::AddRegOperandToRegInfo(MachineRegisterInfo *RegInfo) {    *Head = this;  } +/// RemoveRegOperandFromRegInfo - Remove this register operand from the +/// MachineRegisterInfo it is linked with. +void MachineOperand::RemoveRegOperandFromRegInfo() { +  assert(isOnRegUseList() && "Reg operand is not on a use list"); +  // Unlink this from the doubly linked list of operands. +  MachineOperand *NextOp = Contents.Reg.Next; +  *Contents.Reg.Prev = NextOp;  +  if (NextOp) { +    assert(NextOp->getReg() == getReg() && "Corrupt reg use/def chain!"); +    NextOp->Contents.Reg.Prev = Contents.Reg.Prev; +  } +  Contents.Reg.Prev = 0; +  Contents.Reg.Next = 0; +} +  void MachineOperand::setReg(unsigned Reg) {    if (getReg() == Reg) return; // No change.  | 

