futhark-0.11.0: An optimising compiler for a functional, array-oriented language.

Safe HaskellNone




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.



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 #