diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h index 83c29ed9396..fbb3106810d 100644 --- a/include/llvm/CodeGen/MachineInstr.h +++ b/include/llvm/CodeGen/MachineInstr.h @@ -133,10 +133,8 @@ private: void InitializeReg (unsigned int regNum); friend class MachineInstr; - friend class ValOpIterator; - - //friend class MachineInstr::val_op_const_iterator; - //friend class MachineInstr::val_op_iterator; + friend class ValOpIterator; + friend class ValOpIterator< MachineInstr, Value>; }; @@ -243,6 +241,8 @@ public: const MachineOperand& getOperand (unsigned int i) const; MachineOperand& getOperand (unsigned int i); + bool operandIsDefined(unsigned int i) const; + void dump (unsigned int indent = 0) const; public: @@ -289,6 +289,12 @@ MachineInstr::getOperand(unsigned int i) const return operands[i]; } +inline bool +MachineInstr::operandIsDefined(unsigned int i) const +{ + return getOperand(i).opIsDef(); +} + template class ValOpIterator : public std::forward_iterator<_V, ptrdiff_t> { @@ -448,12 +454,16 @@ MachineOperand::MachineOperandType unsigned int& getMachineRegNum, int64_t& getImmedValue); + ostream& operator<<(ostream& os, const MachineInstr& minstr); ostream& operator<<(ostream& os, const MachineOperand& mop); +void PrintMachineInstructions (Method* method); + + //**************************************************************************/ #endif