|
| Extern (const std::string_view name, Visibility visibility=Visibility::GLOBAL_DEFAULT) |
|
| Extern (const std::string_view name, const std::string_view section, Visibility visibility=Visibility::GLOBAL_DEFAULT) |
|
| ~Extern () override |
|
Prog * | getParent () |
| Returns the parent node.
|
|
void | removeFromParent () override |
| Removes an extern from the parent.
|
|
void | eraseFromParent () override |
| Erases the extern from the parent, deleting it.
|
|
std::optional< llvm::Align > | GetAlignment () const override |
| Externs have no known alignment.
|
|
void | SetValue (Ref< Value > g) |
| Maps the extern to an alias.
|
|
Ref< Value > | GetValue () |
| Returns the alias, if it exists.
|
|
ConstRef< Value > | GetValue () const |
| Returns the alias, if it exists.
|
|
bool | HasValue () const |
| Checks if the extern is a weak alias to another symbol.
|
|
Prog * | getProg () override |
| Returns the program to which the extern belongs.
|
|
void | SetSection (const std::string_view section) |
| Sets the section of the extern.
|
|
std::optional< const std::string_view > | GetSection () const |
| Returns the section.
|
|
void | dump (llvm::raw_ostream &os=llvm::errs()) const override |
| Dumps the representation of the function.
|
|
| 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.
|
|