gibbon-0.3: A compiler for operating on serialized data
Safe HaskellSafe-Inferred
LanguageHaskell2010

Gibbon.Passes.InferRegionScope

Description

Infer region multiplicities

During inference, regions are merely annotated with a region metavariable. InferRegionScope takes the next step and decides the region scope (global/dynamic) and also assigns it a multiplicity.

Synopsis

Documentation

inferRegScope :: Prog2 -> PassM Prog2 Source #

Infer region scope and multiplicity for a program annotated with regions and locations.

inferRegScopeExp :: Map Region Region -> Exp2 -> PassM Exp2 Source #

Decide if a region should be global or local (dynamic).

Dynamic regions are stack allocated and automatically freed