futhark-0.15.5: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.Representation.AST.Attributes.Aliases

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

Instances details
(Aliased lore, CanBeRanged (Op lore), AliasedOp (OpWithRanges (Op lore))) => Aliased (Ranges lore) Source # 
Instance details

Defined in Futhark.Representation.Ranges

(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

Instances details
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 attr => AliasesOf ([Range], attr) Source # 
Instance details

Defined in Futhark.Representation.Ranges

Methods

aliasesOf :: ([Range], attr) -> Names Source #

AliasesOf attr => AliasesOf (Range, attr) Source # 
Instance details

Defined in Futhark.Representation.Ranges

Methods

aliasesOf :: (Range, 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

Instances details
AliasedOp () Source # 
Instance details

Defined in Futhark.Representation.AST.Attributes.Aliases

Methods

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

consumedInOp :: () -> Names Source #

AliasedOp SizeOp Source # 
Instance details

Defined in Futhark.Representation.Kernels.Kernel

(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 (SegOp lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.Kernel

Methods

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

consumedInOp :: SegOp 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 #

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

Defined in Futhark.Representation.Kernels.Kernel

Methods

opAliases :: HostOp lore op -> [Names] Source #

consumedInOp :: HostOp lore op -> Names Source #

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

Associated Types

type OpWithAliases op :: Type Source #

Instances

Instances details
CanBeAliased () Source # 
Instance details

Defined in Futhark.Representation.AST.Attributes.Aliases

Associated Types

type OpWithAliases () 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) Source #

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

Defined in Futhark.Representation.Kernels.Kernel

Associated Types

type OpWithAliases (SegOp lore) Source #

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

Defined in Futhark.Representation.ExplicitMemory

Associated Types

type OpWithAliases (MemOp inner) Source #

(CanBeAliased (Op lore), CanBeAliased op, Attributes lore) => CanBeAliased (HostOp lore op) Source # 
Instance details

Defined in Futhark.Representation.Kernels.Kernel

Associated Types

type OpWithAliases (HostOp lore op) Source #

Methods

removeOpAliases :: OpWithAliases (HostOp lore op) -> HostOp lore op Source #

addOpAliases :: HostOp lore op -> OpWithAliases (HostOp lore op) Source #