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

Safe HaskellNone
LanguageHaskell2010

Futhark.Representation.AST.Attributes.Aliases

Contents

Synopsis

Documentation

expAliases :: Aliased lore => Exp lore -> [Names] Source #

class (Annotations lore, AliasedOp (Op lore), AliasesOf (LetAttr lore)) => Aliased lore where Source #

Methods

bodyAliases :: Body lore -> [Names] Source #

consumedInBody :: Body lore -> Names Source #

Instances
(Attributes lore, CanBeAliased (Op lore)) => Aliased (Aliases lore) Source # 
Instance details

Defined in Futhark.Representation.Aliases

(Attributes lore, CanBeWise (Op lore)) => Aliased (Wise lore) Source # 
Instance details

Defined in Futhark.Optimise.Simplify.Lore

Methods

bodyAliases :: Body (Wise lore) -> [Names] Source #

consumedInBody :: Body (Wise lore) -> Names Source #

class AliasesOf a where Source #

Something that contains alias information.

Methods

aliasesOf :: a -> Names Source #

The alias of the argument element.

Instances
AliasesOf Names Source # 
Instance details

Defined in Futhark.Representation.AST.Attributes.Aliases

AliasesOf attr => AliasesOf (PatElemT attr) Source # 
Instance details

Defined in Futhark.Representation.AST.Attributes.Aliases

Methods

aliasesOf :: PatElemT attr -> Names Source #

AliasesOf (VarAliases, attr) Source # 
Instance details

Defined in Futhark.Representation.Aliases

Methods

aliasesOf :: (VarAliases, attr) -> Names Source #

AliasesOf (VarWisdom, attr) Source # 
Instance details

Defined in Futhark.Optimise.Simplify.Lore

Methods

aliasesOf :: (VarWisdom, attr) -> Names Source #

Consumption

consumedInStm :: Aliased lore => Stm lore -> Names Source #

consumedInExp :: Aliased lore => Exp lore -> Names Source #

Extensibility

class IsOp op => AliasedOp op where Source #

Methods

opAliases :: op -> [Names] Source #

consumedInOp :: op -> Names Source #

Instances
AliasedOp () Source # 
Instance details

Defined in Futhark.Representation.AST.Attributes.Aliases

Methods

opAliases :: () -> [Names] Source #

consumedInOp :: () -> Names Source #

(Attributes lore, Aliased lore) => AliasedOp (SOAC lore) Source # 
Instance details

Defined in Futhark.Representation.SOACS.SOAC

Methods

opAliases :: SOAC lore -> [Names] Source #

consumedInOp :: SOAC lore -> Names Source #

(Attributes lore, Aliased lore) => AliasedOp (KernelExp lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.KernelExp

(Attributes lore, Aliased lore) => AliasedOp (Kernel lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.Kernel

Methods

opAliases :: Kernel lore -> [Names] Source #

consumedInOp :: Kernel lore -> Names Source #

AliasedOp inner => AliasedOp (MemOp inner) Source # 
Instance details

Defined in Futhark.Representation.ExplicitMemory

Methods

opAliases :: MemOp inner -> [Names] Source #

consumedInOp :: MemOp inner -> Names Source #

class AliasedOp (OpWithAliases op) => CanBeAliased op where Source #

Associated Types

type OpWithAliases op :: * Source #

Instances
CanBeAliased () Source # 
Instance details

Defined in Futhark.Representation.AST.Attributes.Aliases

Associated Types

type OpWithAliases () :: Type Source #

(Attributes lore, Attributes (Aliases lore), CanBeAliased (Op lore)) => CanBeAliased (SOAC lore) Source # 
Instance details

Defined in Futhark.Representation.SOACS.SOAC

Associated Types

type OpWithAliases (SOAC lore) :: Type Source #

(Attributes lore, Attributes (Aliases lore), CanBeAliased (Op lore)) => CanBeAliased (KernelExp lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.KernelExp

Associated Types

type OpWithAliases (KernelExp lore) :: Type Source #

(Attributes lore, Attributes (Aliases lore), CanBeAliased (Op lore)) => CanBeAliased (Kernel lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.Kernel

Associated Types

type OpWithAliases (Kernel lore) :: Type Source #

CanBeAliased inner => CanBeAliased (MemOp inner) Source # 
Instance details

Defined in Futhark.Representation.ExplicitMemory

Associated Types

type OpWithAliases (MemOp inner) :: Type Source #