llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Public Member Functions | Friends | List of all members
SetNode Class Referencefinal

#include <passes/pta/node.h>

Inheritance diagram for SetNode:
Inheritance graph
[legend]
Collaboration diagram for SetNode:
Collaboration graph
[legend]

Public Member Functions

 SetNode (uint64_t id)
 Constructs a new set node.
 
 ~SetNode ()
 Deletes a set node.
 
DerefNodeDeref ()
 Returns a node dereferencing this one.
 
void AddFunc (ID< Func * > func)
 Adds a function to the set.
 
void AddExtern (ID< Extern * > ext)
 Adds an extern to the set.
 
void AddNode (ID< SetNode * > node)
 Adds a node to the set.
 
bool Propagate (SetNode *that)
 Propagates values to another set.
 
bool Equals (SetNode *that)
 Checks if two nodes are equal.
 
bool AddSet (SetNode *node)
 Adds an edge from this node to another set node.
 
bool AddDeref (DerefNode *node)
 Adds an edge from this node to another set node.
 
llvm::iterator_range< BitSet< SetNode * >::iterator > sets ()
 Iterator over the outgoing edges.
 
llvm::iterator_range< BitSet< DerefNode * >::iterator > derefs ()
 Iterator over the outgoing edges.
 
llvm::iterator_range< BitSet< Func * >::iterator > points_to_func ()
 Functions pointed to.
 
llvm::iterator_range< BitSet< Extern * >::iterator > points_to_ext ()
 Externs pointed to.
 
llvm::iterator_range< BitSet< SetNode * >::iterator > points_to_node ()
 Nodes pointed to.
 
void sets (std::function< ID< SetNode * >(ID< SetNode * >)> &&f)
 Edge traversal, applying fixups.
 
void points_to_node (std::function< ID< SetNode * >(ID< SetNode * >)> &&f)
 Node traversal, applying fixups.
 
- Public Member Functions inherited from GraphNode
 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.
 
SetNodeAsSet ()
 Returns the node as a set, if it is one.
 
DerefNodeAsDeref ()
 Returns the node as a deref, if it is one.
 
- Public Member Functions inherited from Node
virtual ~Node ()
 Virtual destructor.
 
GraphNodeToGraph ()
 Converts the node to a graph node.
 
RootNodeAsRoot ()
 Converts the node to a root node (if it is one).
 

Friends

class Graph
 
class RootNode
 
class DerefNode
 

Additional Inherited Members

- Public Types inherited from Node
enum  Kind { SET, DEREF, ROOT }
 Enumeration of enum kinds.
 
- Protected Member Functions inherited from Node
 Node (Kind kind)
 Creates a new node.
 
- Protected Attributes inherited from GraphNode
uint64_t id_
 ID of the node.
 
- Protected Attributes inherited from Node
Kind kind_
 Node kind.
 

Detailed Description

Set node in the graph.


The documentation for this class was generated from the following files: