LLVM  8.0.1
Classes | Namespaces | Macros
OperandTraits.h File Reference
#include "llvm/IR/User.h"
Include dependency graph for OperandTraits.h:
This graph shows which files directly or indirectly include this file:

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

 llvm
 This class represents lattice values for constants.
 

Macros

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

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 111 of file OperandTraits.h.

Referenced by llvm::Function::Create(), llvm::ConstantExpr::getExactLShr(), llvm::CmpInst::getNonStrictPredicate(), llvm::CallBase::mutateFunctionType(), llvm::UnaryInstruction::operator new(), and llvm::BinaryOperator::operator new().

◆ DEFINE_TRANSPARENT_OPERAND_ACCESSORS

#define DEFINE_TRANSPARENT_OPERAND_ACCESSORS (   CLASS,
  VALUECLASS 
)

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

Definition at line 126 of file OperandTraits.h.

Referenced by llvm::OperandTraits< MemoryUseOrDef >::operands().