Module PdgTypes

module PdgTypes: sig .. end

This module defines the types that are used to store the PDG of a function.


module Dpd: sig .. end

Dpd stands for 'dependence'.

module Node: sig .. end

A node of the PDG : includes some information to know where it comes from.

module NodeSet: Hptset.S  with type elt = Node.t
module G: sig .. end

Program dependence graph main part : the nodes of the graph represent computations, and the edges represent the dependencies between these computations.

module NodeSetLattice: sig .. end

set of nodes of the graph

module LocInfo: Lmap_bitwise.Location_map_bitwise  with type v = NodeSetLattice.t
type data_state = {
   loc_info : LocInfo.t;
   under_outputs : Locations.Zone.t;
}

a data_state object is associated with a program point and provides a mapping between a location and some nodes in the PDG that are used to compute the location value at that point.

DataState is associated with a program point and provide the dependencies for the data, ie. it stores for each location the nodes of the pdg where its value was last defined. Managed in src/pdg/state.ml

module Pdg: sig .. end

PDG for a function