|
using | ItemListType = llvm::ilist< Item > |
| Type of the item list.
|
|
typedef ItemListType::iterator | iterator |
|
typedef ItemListType::const_iterator | const_iterator |
|
enum | Kind { EXTERN,
FUNC,
BLOCK,
ATOM
} |
| Enumeration of global kinds.
|
|
using | op_iterator = Use * |
|
using | const_op_iterator = const Use * |
|
using | op_range = llvm::iterator_range< op_iterator > |
|
using | const_op_range = llvm::iterator_range< const_op_iterator > |
|
using | value_op_range = llvm::iterator_range< value_op_iterator > |
|
using | const_value_op_range = llvm::iterator_range< const_value_op_iterator > |
|
template<typename T > |
using | conv_op_range = llvm::iterator_range< conv_op_iterator< T > > |
|
template<typename T > |
using | const_conv_op_range = llvm::iterator_range< const_conv_op_iterator< T > > |
|
template<typename T > |
using | unref_range = llvm::iterator_range< unref_iterator< T > > |
|
template<typename T > |
using | const_unref_range = llvm::iterator_range< const_unref_iterator< T > > |
|
enum | Kind { INST,
GLOBAL,
EXPR,
CONST
} |
| Enumeration of value types.
|
|
template<typename T > |
using | forward_it = std::iterator< std::forward_iterator_tag, T > |
|
using | use_iterator = use_iterator_impl< Use > |
|
using | const_use_iterator = use_iterator_impl< const Use > |
|
using | user_iterator = user_iterator_impl< User > |
|
using | const_user_iterator = user_iterator_impl< const User > |
|
|
| Atom (const std::string_view name, Visibility visibility=Visibility::LOCAL, std::optional< llvm::Align > align=std::nullopt) |
| Creates a new parent.
|
|
| ~Atom () override |
| Deletes the parent.
|
|
void | removeFromParent () override |
| Removes an atom from the data section.
|
|
void | eraseFromParent () override |
| Removes an parent from the data section, erasing it.
|
|
Object * | getParent () const |
| Returns a pointer to the parent section.
|
|
void | remove (iterator it) |
| Removes an atom.
|
|
void | erase (iterator it) |
| Erases an atom.
|
|
void | AddItem (Item *atom, Item *before=nullptr) |
| Adds an atom to the atom.
|
|
bool | empty () const |
|
size_t | size () const |
|
iterator | begin () |
|
iterator | end () |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
void | clear () |
| Clears all items.
|
|
size_t | GetByteSize () const |
| Returns the size of the atom in bytes.
|
|
void | SetAlignment (llvm::Align align) |
| Changes the parent alignment.
|
|
std::optional< llvm::Align > | GetAlignment () const override |
| Returns the parent alignment.
|
|
Prog * | getProg () override |
| Returns the program to which the atom belongs.
|
|
void | dump (llvm::raw_ostream &os=llvm::errs()) const |
| Dump the object.
|
|
| Global (Kind kind, const std::string_view name, Visibility visibility=Visibility::LOCAL, unsigned numOps=0) |
|
Kind | GetKind () const |
| Returns the kind of the global.
|
|
bool | Is (Kind kind) const |
| Checks if the global is of a specific kind.
|
|
const std::string_view | GetName () const |
| Returns the name of the global.
|
|
llvm::StringRef | getName () const |
| Returns the name of the basic block for LLVM.
|
|
void | SetVisibility (Visibility visibility) |
| Sets the visibilty of the global.
|
|
Visibility | GetVisibility () const |
| Returns the visibilty of a global.
|
|
bool | IsRoot () const |
| Checks if the symbol can be externally referenced.
|
|
bool | IsLocal () const |
| Checks if the global is hidden in the compilation unit.
|
|
bool | IsWeak () const |
| Checks if a symbol is weak.
|
|
| 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 (Value *v) |
| Replaces all uses of this value.
|
|
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.
|
|
A symbol followed by data items.