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

#include <passes/pta/solver.h>

Public Member Functions

 ConstraintSolver ()
 Initialises the solver.
 
 ~ConstraintSolver ()
 Cleans up after the solver.
 
NodeLoad (Node *ptr)
 Returns a load constraint.
 
void Subset (Node *from, Node *to)
 Generates a subset constraint.
 
RootNodeRoot ()
 Constructs a root node.
 
NodeEmpty ()
 Constructs an empty node.
 
void Store (Node *ptr, Node *val)
 Creates a store constraint.
 
NodeAlloc (const std::vector< Inst * > &context)
 Allocation site.
 
RootNodeLookup (Global *global)
 Returns the node attached to a global.
 
RootNodeRoot (SetNode *set)
 Creates a root node with an item.
 
RootNodeAnchor (Node *node)
 Creates a root from a node.
 
DerefNodeDeref (SetNode *set)
 Creates a deref node.
 
SetNodeSet ()
 Creates a set node.
 
ID< Func * > Map (Func *func)
 Maps a function to an ID.
 
FuncMap (const ID< Func * > &id)
 Maps an ID to a function.
 
ID< Extern * > Map (Extern *ext)
 Maps an extern to an ID.
 
ExternMap (const ID< Extern * > &id)
 Maps an ID to a function.
 
SetNodeMap (const ID< SetNode * > &id)
 Maps an ID to a node.
 
void Solve ()
 Solves the constraints until a fixpoint is reached.
 

Friends

class RootNode
 Nodes and derefs are friends.
 

Detailed Description

Class to keep track of constraints & solve them.


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