llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <passes/pta/node.h>
Public Member Functions | |
DerefNode (SetNode *node, RootNode *contents, uint64_t id) | |
Creates a new node to dereference a value. | |
~DerefNode () | |
Deletes the deref node. | |
SetNode * | Node () const |
Returns the dereferenced node. | |
SetNode * | Contents () |
Returns the set node with the contents. | |
bool | AddSet (SetNode *node) |
Adds an edge from this node to another node. | |
llvm::iterator_range< BitSet< SetNode * >::iterator > | set_ins () |
Iterator over the incoming edges. | |
llvm::iterator_range< BitSet< SetNode * >::iterator > | set_outs () |
Iterator over the outgoing edges. | |
void | set_ins (std::function< ID< SetNode * >(ID< SetNode * >)> &&f) |
Store set traversal, applying fixups. | |
void | set_outs (std::function< ID< SetNode * >(ID< SetNode * >)> &&f) |
Load set traversal, applying fixups. | |
![]() | |
GraphNode (Kind kind, uint64_t id) | |
Constructs a graph node. | |
virtual | ~GraphNode () |
Deletes the node. | |
uint64_t | GetID () const |
Returns the ID of the node. | |
bool | IsDeref () const |
Checks if the node is a load. | |
bool | IsSet () const |
Checks if the ndoe is a set. | |
SetNode * | AsSet () |
Returns the node as a set, if it is one. | |
DerefNode * | AsDeref () |
Returns the node as a deref, if it is one. | |
![]() | |
virtual | ~Node () |
Virtual destructor. | |
GraphNode * | ToGraph () |
Converts the node to a graph node. | |
RootNode * | AsRoot () |
Converts the node to a root node (if it is one). | |
Friends | |
class | Graph |
class | SetNode |
Additional Inherited Members | |
![]() | |
enum | Kind { SET, DEREF, ROOT } |
Enumeration of enum kinds. | |
![]() | |
Node (Kind kind) | |
Creates a new node. | |
![]() | |
uint64_t | id_ |
ID of the node. | |
![]() | |
Kind | kind_ |
Node kind. | |
Dereference node in the graph.