llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KillGenSolver< FlowSet, GenSet, KillSet, Dir > Class Template Referenceabstract

#include <core/analysis/kildall.h>

Collaboration diagram for KillGenSolver< FlowSet, GenSet, KillSet, Dir >:
Collaboration graph
[legend]

Classes

struct  InstInfo
 

Public Member Functions

 KillGenSolver (Func &func)
 Initialises the solver.
 
void Solve ()
 Builds and solves constraints, invokes callback. More...
 

Protected Member Functions

virtual void Build (Inst &inst)=0
 Callback to generate constraints.
 
virtual void Traverse (Inst *inst, const FlowSet &set)=0
 Solve all the constraints.
 
InstInfoInfo (Inst *I)
 Returns a kill-gen set for an instruction.
 

Protected Attributes

Funcfunc_
 Reference to the function.
 

Detailed Description

template<typename FlowSet, typename GenSet, typename KillSet, Direction Dir>
class KillGenSolver< FlowSet, GenSet, KillSet, Dir >

Kildall's algorithm for transfer functions with kill-gen sets.

Member Function Documentation

◆ Solve()

template<typename FlowSet , typename GenSet , typename KillSet , Direction Dir>
void KillGenSolver< FlowSet, GenSet, KillSet, Dir >::Solve

Builds and solves constraints, invokes callback.

Compute flow from preds/succs.

Traverse succs/preds.


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