[llvm-commits] Add operand iterator for machine instruction.

Chris Lattner clattner at apple.com
Thu Nov 11 16:02:38 PST 2010


On Oct 30, 2010, at 7:54 PM, ether zhhb wrote:

> From 2b00490b46f8ba46fafffa327f7998e83f180f55 Mon Sep 17 00:00:00 2001
> From: ether <etherzhhb at gmail.com>
> Date: Sun, 31 Oct 2010 10:42:10 +0800
> Subject: [PATCH] Add operand iterator to machine instruction.
> hi
> 
> sorry for the trivial mistake, this is the correct patch:

Applied in r118862, thanks.

-Chris

> 
> ---
> include/llvm/CodeGen/MachineInstr.h |   12 +++++++++++-
> 1 files changed, 11 insertions(+), 1 deletions(-)
> 
> diff --git a/include/llvm/CodeGen/MachineInstr.h
> b/include/llvm/CodeGen/MachineInstr.h
> index fc84f8c..d1f17d3 100644
> --- a/include/llvm/CodeGen/MachineInstr.h
> +++ b/include/llvm/CodeGen/MachineInstr.h
> @@ -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; }
> -- 
> 1.7.1
> <0001-Add-operand-iterator-to-machine-instruction.patch>





More information about the llvm-commits mailing list