llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <core/value.h>
Classes | |
class | use_iterator_impl |
class | user_iterator_impl |
Public Types | |
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 > |
Public Member Functions | |
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. | |
Friends | |
class | Use |
Use needs access to uses. | |
Base class of all values.