From 136c9f4062b0fe6d864ebc2bc2b0cbada931a28e Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Tue, 28 Aug 2001 23:11:46 +0000 Subject: [PATCH] Added function MachineInstr::operandIsDefined(i) and decl for function PrintMachineInstructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@399 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/MachineInstr.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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 -- 2.34.1