|
virtual | ~Inst () |
| Destroys an instruction.
|
|
unsigned | GetOrder () const |
| Returns a unique, stable identifier for the instruction.
|
|
void | removeFromParent () |
| Removes an instruction from the parent.
|
|
void | eraseFromParent () |
| Removes an instruction from the parent and deletes it.
|
|
Kind | GetKind () const |
| Returns the instruction kind.
|
|
bool | Is (Kind kind) const |
| Checks if the instruction is of a specific kind.
|
|
Block * | getParent () const |
| Returns the parent node.
|
|
virtual unsigned | GetNumRets () const |
| Returns the number of returned values.
|
|
virtual Type | GetType (unsigned i) const |
| Returns the type of the ith return value.
|
|
bool | IsVoid () const |
| Checks if the instruction is void.
|
|
virtual bool | IsReturn () const |
| Checks if the instruction returns from the function.
|
|
virtual bool | IsConstant () const |
| Checks if the instruction is constant.
|
|
virtual bool | IsTerminator () const |
| Checks if the instruction is a terminator.
|
|
virtual bool | HasSideEffects () const |
| Checks if the instruction has side effects.
|
|
template<typename T > |
bool | HasAnnot () const |
| Checks if a flag is set.
|
|
template<typename T > |
bool | ClearAnnot () |
| Removes an annotation.
|
|
template<typename T > |
const T * | GetAnnot () const |
| Returns an annotation.
|
|
template<typename T , typename... Args> |
bool | SetAnnot (Args &&... args) |
| Sets an annotation.
|
|
bool | AddAnnot (const Annot &annot) |
| Adds an annotation.
|
|
const AnnotSet & | GetAnnots () const |
| Returns the instruction's annotation.
|
|
size_t | annot_size () const |
| Returns the number of annotations.
|
|
bool | annot_empty () const |
| Checks if any flags are set.
|
|
llvm::iterator_range< AnnotSet::const_iterator > | annots () const |
| Iterator over annotations.
|
|
Ref< Inst > | GetSubValue (unsigned i) |
| Returns the ith sub-value.
|
|
ConstRef< Inst > | GetSubValue (unsigned i) const |
| Returns the ith sub-value.
|
|
void | replaceAllUsesWith (Value *v) override |
| Replaces all uses of this value.
|
|
void | replaceAllUsesWith (llvm::ArrayRef< Ref< Inst >> v) |
| Replaces all uses of a multi-type value.
|
|
template<typename T > |
std::enable_if< std::is_base_of< Inst, T >::value >::type | replaceAllUsesWith (llvm::ArrayRef< Ref< T >> insts) |
| Replaces all uses of a multi-type value.
|
|
void | dump (llvm::raw_ostream &os=llvm::errs()) const |
| Dumps the textual representation of the instruction.
|
|
| User (Kind kind, unsigned numOps) |
| Creates a new user.
|
|
virtual | ~User () |
| Cleans up after the use.
|
|
size_t | size () const |
|
op_iterator | op_begin () |
|
op_iterator | op_end () |
|
op_range | operands () |
|
const_op_iterator | op_begin () const |
|
const_op_iterator | op_end () const |
|
const_op_range | operands () const |
|
value_op_iterator | value_op_begin () |
|
value_op_iterator | value_op_end () |
|
value_op_range | operand_values () |
|
const_value_op_iterator | value_op_begin () const |
|
const_value_op_iterator | value_op_end () const |
|
const_value_op_range | operand_values () const |
|
| Value (Kind kind) |
| Constructs a new value.
|
|
| Value (const Value &)=delete |
| Do not allow copying.
|
|
| Value (Value &&)=delete |
| Do not allow moving.
|
|
virtual | ~Value () |
| Destroy the value.
|
|
Kind | GetKind () const |
| Returns the value kind.
|
|
bool | Is (Kind kind) const |
| Checks if the value is of a specific kind.
|
|
bool | IsConstant () const |
| Checks whether the value is a compile-time constant.
|
|
virtual void | replaceAllUsesWith (Ref< Value > v) |
| Replaces all uses of this with a refernce.
|
|
size_t | use_size () const |
|
bool | use_empty () const |
|
use_iterator | use_begin () |
|
const_use_iterator | use_begin () const |
|
use_iterator | use_end () |
|
const_use_iterator | use_end () const |
|
llvm::iterator_range< use_iterator > | uses () |
|
llvm::iterator_range< const_use_iterator > | uses () const |
|
bool | user_empty () const |
|
user_iterator | user_begin () |
|
const_user_iterator | user_begin () const |
|
user_iterator | user_end () |
|
const_user_iterator | user_end () const |
|
llvm::iterator_range< user_iterator > | users () |
|
llvm::iterator_range< const_user_iterator > | users () const |
|
void | operator= (const Value &)=delete |
| Do not allow assignments.
|
|
void | operator= (Value &&)=delete |
| Do not allow move assignments.
|
|