Safe Haskell | None |
---|---|
Language | Haskell2010 |
Alias analysis of a full Futhark program. Takes as input a program with an arbitrary lore and produces one with aliases. This module does not implement the aliasing logic itself, and derives its information from definitions in Futhark.Representation.AST.Attributes.Aliases and Futhark.Representation.Aliases.
Synopsis
- aliasAnalysis :: (Attributes lore, CanBeAliased (Op lore)) => Prog lore -> Prog (Aliases lore)
- analyseFun :: (Attributes lore, CanBeAliased (Op lore)) => FunDef lore -> FunDef (Aliases lore)
- analyseStm :: (Attributes lore, CanBeAliased (Op lore)) => Stm lore -> Stm (Aliases lore)
- analyseExp :: (Attributes lore, CanBeAliased (Op lore)) => Exp lore -> Exp (Aliases lore)
- analyseBody :: (Attributes lore, CanBeAliased (Op lore)) => Body lore -> Body (Aliases lore)
- analyseLambda :: (Attributes lore, CanBeAliased (Op lore)) => Lambda lore -> Lambda (Aliases lore)
Documentation
aliasAnalysis :: (Attributes lore, CanBeAliased (Op lore)) => Prog lore -> Prog (Aliases lore) Source #
Perform alias analysis on a Futhark program.
Ad-hoc utilities
analyseFun :: (Attributes lore, CanBeAliased (Op lore)) => FunDef lore -> FunDef (Aliases lore) Source #
analyseStm :: (Attributes lore, CanBeAliased (Op lore)) => Stm lore -> Stm (Aliases lore) Source #
analyseExp :: (Attributes lore, CanBeAliased (Op lore)) => Exp lore -> Exp (Aliases lore) Source #
analyseBody :: (Attributes lore, CanBeAliased (Op lore)) => Body lore -> Body (Aliases lore) Source #
analyseLambda :: (Attributes lore, CanBeAliased (Op lore)) => Lambda lore -> Lambda (Aliases lore) Source #