Home | History | Annotate | Download | only in IR

Lines Matching refs:CLASS

1 //===-- llvm/OperandTraits.h - OperandTraits class definition ---*- C++ -*-===//
23 // FixedNumOperand Trait Class
44 // OptionalOperand Trait Class
58 // VariadicOperand Trait Class
79 // HungoffOperand Trait Class
85 /// Assumes that the User subclass that is determined by this traits class
89 /// This is the traits class that is needed when the Use array must be
105 /// Macro for generating in-class operand accessor declarations.
122 /// Macro for generating out-of-class operand accessor definitions
123 #define DEFINE_TRANSPARENT_OPERAND_ACCESSORS(CLASS, VALUECLASS) \
124 CLASS::op_iterator CLASS::op_begin() { \
125 return OperandTraits<CLASS>::op_begin(this); \
127 CLASS::const_op_iterator CLASS::op_begin() const { \
128 return OperandTraits<CLASS>::op_begin(const_cast<CLASS*>(this)); \
130 CLASS::op_iterator CLASS::op_end() { \
131 return OperandTraits<CLASS>::op_end(this); \
133 CLASS::const_op_iterator CLASS::op_end() const { \
134 return OperandTraits<CLASS>::op_end(const_cast<CLASS*>(this)); \
136 VALUECLASS *CLASS::getOperand(unsigned i_nocapture) const { \
137 assert(i_nocapture < OperandTraits<CLASS>::operands(this) \
140 OperandTraits<CLASS>::op_begin(const_cast<CLASS*>(this))[i_nocapture].get()); \
142 void CLASS::setOperand(unsigned i_nocapture, VALUECLASS *Val_nocapture) { \
143 assert(i_nocapture < OperandTraits<CLASS>::operands(this) \
145 OperandTraits<CLASS>::op_begin(this)[i_nocapture] = Val_nocapture; \
147 unsigned CLASS::getNumOperands() const { \
148 return OperandTraits<CLASS>::operands(this); \
150 template <int Idx_nocapture> Use &CLASS::Op() { \
153 template <int Idx_nocapture> const Use &CLASS::Op() const { \