LLVM API Documentation
#include "llvm/User.h"


Go to the source code of this file.
Namespaces | |
| namespace | llvm |
Classes | |
| struct | llvm::FixedNumOperandTraits< ARITY > |
| struct | llvm::FixedNumOperandTraits< ARITY >::prefix |
| struct | llvm::FixedNumOperandTraits< ARITY >::Layout< U > |
| struct | llvm::FixedNumOperandTraits< ARITY >::Layout< U >::overlay |
| struct | llvm::OptionalOperandTraits< ARITY > |
| struct | llvm::VariadicOperandTraits< MINARITY > |
| struct | llvm::HungoffOperandTraits< MINARITY > |
Defines | |
| #define | DECLARE_TRANSPARENT_OPERAND_ACCESSORS(VALUECLASS) |
| #define | DEFINE_TRANSPARENT_OPERAND_ACCESSORS(CLASS, VALUECLASS) |
| Macro for generating out-of-class operand accessor definitions. | |
| #define | DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS(CLASS, VALUECLASS) |
| #define DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | VALUECLASS | ) |
Value:
public: \ inline VALUECLASS *getOperand(unsigned) const; \ inline void setOperand(unsigned, VALUECLASS*); \ protected: \ template <unsigned> inline Use &Op(); \ template <unsigned> inline const Use &Op() const; \ public: \ inline unsigned getNumOperands() const
Definition at line 118 of file OperandTraits.h.
| #define DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS | ( | CLASS, | |||
| VALUECLASS | ) |
Value:
VALUECLASS *CLASS::getOperand(unsigned i_nocapture) const { \ assert(i_nocapture < OperandTraits<CLASS>::operands(this) \ && "getOperand() out of range!"); \ return cast<VALUECLASS>( \ OperandTraits<CLASS>::op_begin(const_cast<CLASS*>(this))[i_nocapture]); \ } \ void CLASS::setOperand(unsigned i_nocapture, VALUECLASS *Val_nocapture) { \ assert(i_nocapture < OperandTraits<CLASS>::operands(this) \ && "setOperand() out of range!"); \ OperandTraits<CLASS>::op_begin(this)[i_nocapture] = Val_nocapture; \ } \ unsigned CLASS::getNumOperands() const { \ return OperandTraits<CLASS>::operands(this); \ } \ template <unsigned Idx_nocapture> Use &CLASS::Op() { \ return OperandTraits<CLASS>::op_begin(this)[Idx_nocapture]; \ } \ template <unsigned Idx_nocapture> const Use &CLASS::Op() const { \ return OperandTraits<CLASS>::op_begin( \ const_cast<CLASS*>(this))[Idx_nocapture]; \ }
Definition at line 155 of file OperandTraits.h.
| #define DEFINE_TRANSPARENT_OPERAND_ACCESSORS | ( | CLASS, | |||
| VALUECLASS | ) |
Value:
VALUECLASS *CLASS::getOperand(unsigned i_nocapture) const { \ assert(i_nocapture < OperandTraits<CLASS>::operands(this) \ && "getOperand() out of range!"); \ return static_cast<VALUECLASS*>( \ OperandTraits<CLASS>::op_begin(const_cast<CLASS*>(this))[i_nocapture]); \ } \ void CLASS::setOperand(unsigned i_nocapture, VALUECLASS *Val_nocapture) { \ assert(i_nocapture < OperandTraits<CLASS>::operands(this) \ && "setOperand() out of range!"); \ OperandTraits<CLASS>::op_begin(this)[i_nocapture] = Val_nocapture; \ } \ unsigned CLASS::getNumOperands() const { \ return OperandTraits<CLASS>::operands(this); \ } \ template <unsigned Idx_nocapture> Use &CLASS::Op() { \ return OperandTraits<CLASS>::op_begin(this)[Idx_nocapture]; \ } \ template <unsigned Idx_nocapture> const Use &CLASS::Op() const { \ return OperandTraits<CLASS>::op_begin( \ const_cast<CLASS*>(this))[Idx_nocapture]; \ }
Definition at line 129 of file OperandTraits.h.
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.