Hoogle Search

Within LTS Haskell 24.40 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. class Semigroup node => PureSupernode node

    ghc GHC.Data.Graph.Collapse

    A "supernode" stands for a collection of one or more nodes (basic blocks) that have been coalesced by the Hecht-Ullman algorithm. A collection in a supernode constitutes a reducible subgraph of a control-flow graph. (When an entire control-flow graph is collapsed to a single supernode, the flow graph is reducible.) The idea of node splitting is to collapse a control-flow graph down to a single supernode, then materialize (`inflate') the reducible equivalent graph from that supernode. The Supernode class defines only the methods needed to collapse; rematerialization is the responsibility of the client. During the Hecht-Ullman algorithm, every supernode has a unique entry point, which is given by superLabel. But this invariant is not guaranteed by the class methods and is not a law of the class. The mapLabels function rewrites all labels that appear in a supernode (both definitions and uses). The freshen function replaces every appearance of a defined label with a fresh label. (Appearances include both definitions and uses.) Laws: superLabel (n <> n') == superLabel n blocks (n <> n') == blocks n union blocks n' mapLabels f (n <> n') = mapLabels f n <> mapLabels f n' mapLabels id == id mapLabels (f . g) == mapLabels f . mapLabels g (We expect freshen to distribute over <>, but because of the fresh names involved, formulating a precise law is a bit challenging.)

  2. type Path = [Node]

    ghc GHC.Data.Graph.Inductive.Graph

    Unlabeled path

  3. module GHC.Data.Graph.Inductive.PatriciaTree

    An efficient implementation of Graph using big-endian patricia tree (i.e. Data.IntMap). This module provides the following specialised functions to gain more performance, using GHC's RULES pragma:

    Code is from Hackage fgl package version 5.7.0.3

  4. module GHC.Data.Graph.Ppr

    Pretty printing of graphs.

  5. module GHC.Data.Pair

    No documentation available.

  6. data Pair a

    ghc GHC.Data.Pair

    No documentation available.

  7. Pair :: a -> a -> Pair a

    ghc GHC.Data.Pair

    No documentation available.

  8. data Pair a b

    ghc GHC.Data.Strict

    No documentation available.

  9. newtype Point s a

    ghc GHC.Data.UnionFind

    A variable which can be unified; alternately, this can be thought of as an equivalence class with a distinguished representative.

  10. Point :: STRef s (Link s a) -> Point s a

    ghc GHC.Data.UnionFind

    No documentation available.

Page 118 of many | Previous | Next