LLVM 20.0.0git
Classes | Namespaces | Macros
OperandTraits.h File Reference
#include "llvm/IR/User.h"

Go to the source code of this file.

Classes

struct  llvm::FixedNumOperandTraits< SubClass, ARITY >
 FixedNumOperandTraits - determine the allocation regime of the Use array when it is a prefix to the User object, and the number of Use objects is known at compile time. More...
 
struct  llvm::OptionalOperandTraits< SubClass, ARITY >
 OptionalOperandTraits - when the number of operands may change at runtime. More...
 
struct  llvm::VariadicOperandTraits< SubClass, MINARITY >
 VariadicOperandTraits - determine the allocation regime of the Use array when it is a prefix to the User object, and the number of Use objects is only known at allocation time. More...
 
struct  llvm::HungoffOperandTraits< MINARITY >
 HungoffOperandTraits - determine the allocation regime of the Use array when it is not a prefix to the User object, but allocated at an unrelated heap address. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define DECLARE_TRANSPARENT_OPERAND_ACCESSORS(VALUECLASS)
 Macro for generating in-class operand accessor declarations.
 
#define DEFINE_TRANSPARENT_OPERAND_ACCESSORS(CLASS, VALUECLASS)
 Macro for generating out-of-class operand accessor definitions.
 

Macro Definition Documentation

◆ DECLARE_TRANSPARENT_OPERAND_ACCESSORS

#define DECLARE_TRANSPARENT_OPERAND_ACCESSORS (   VALUECLASS)
Value:
public: \
inline VALUECLASS *getOperand(unsigned) const; \
inline void setOperand(unsigned, VALUECLASS*); \
inline op_iterator op_begin(); \
inline const_op_iterator op_begin() const; \
inline op_iterator op_end(); \
inline const_op_iterator op_end() const; \
protected: \
template <int> inline Use &Op(); \
template <int> inline const Use &Op() const; \
public: \
inline unsigned getNumOperands() const
aarch64 promote const

Macro for generating in-class operand accessor declarations.

It should only be called in the public section of the interface.

Definition at line 110 of file OperandTraits.h.

◆ DEFINE_TRANSPARENT_OPERAND_ACCESSORS

#define DEFINE_TRANSPARENT_OPERAND_ACCESSORS (   CLASS,
  VALUECLASS 
)

Macro for generating out-of-class operand accessor definitions.

Definition at line 125 of file OperandTraits.h.