llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <passes/pta/solver.h>
Public Member Functions | |
ConstraintSolver () | |
Initialises the solver. | |
~ConstraintSolver () | |
Cleans up after the solver. | |
Node * | Load (Node *ptr) |
Returns a load constraint. | |
void | Subset (Node *from, Node *to) |
Generates a subset constraint. | |
RootNode * | Root () |
Constructs a root node. | |
Node * | Empty () |
Constructs an empty node. | |
void | Store (Node *ptr, Node *val) |
Creates a store constraint. | |
Node * | Alloc (const std::vector< Inst * > &context) |
Allocation site. | |
RootNode * | Lookup (Global *global) |
Returns the node attached to a global. | |
RootNode * | Root (SetNode *set) |
Creates a root node with an item. | |
RootNode * | Anchor (Node *node) |
Creates a root from a node. | |
DerefNode * | Deref (SetNode *set) |
Creates a deref node. | |
SetNode * | Set () |
Creates a set node. | |
ID< Func * > | Map (Func *func) |
Maps a function to an ID. | |
Func * | Map (const ID< Func * > &id) |
Maps an ID to a function. | |
ID< Extern * > | Map (Extern *ext) |
Maps an extern to an ID. | |
Extern * | Map (const ID< Extern * > &id) |
Maps an ID to a function. | |
SetNode * | Map (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. | |
Class to keep track of constraints & solve them.