add operand iterator apis to MachineInstr, patch by ether zhhb.

llvm-svn: 118862
This commit is contained in:
Chris Lattner 2010-11-12 00:00:21 +00:00
parent 1e57493196
commit 7fe1100c26
1 changed files with 11 additions and 1 deletions

View File

@ -167,7 +167,17 @@ public:
/// getNumExplicitOperands - Returns the number of non-implicit operands.
///
unsigned getNumExplicitOperands() const;
/// iterator/begin/end - Iterate over all operands of a machine instruction.
typedef std::vector<MachineOperand>::iterator mop_iterator;
typedef std::vector<MachineOperand>::const_iterator const_mop_iterator;
mop_iterator operands_begin() { return Operands.begin(); }
mop_iterator operands_end() { return Operands.end(); }
const_mop_iterator operands_begin() const { return Operands.begin(); }
const_mop_iterator operands_end() const { return Operands.end(); }
/// Access to memory operands of the instruction
mmo_iterator memoperands_begin() const { return MemRefs; }
mmo_iterator memoperands_end() const { return MemRefsEnd; }