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

Futhark.IR.SOACS.Simplify

Synopsis

Documentation

class HasSOAC lore where Source #

Does this lore contain SOACs in its Ops? A lore must be an instance of this class for the simplification rules to work.

Methods

asSOAC :: Op lore -> Maybe (SOAC lore) Source #

soacOp :: SOAC lore -> Op lore Source #

Instances

Instances details
HasSOAC (Wise SOACS) Source # 
Instance details

Defined in Futhark.IR.SOACS.Simplify

HasSOAC (Wise Kernels) Source # 
Instance details

Defined in Futhark.IR.Kernels.Simplify

removeReplicateMapping :: (Bindable lore, SimplifiableLore lore, HasSOAC (Wise lore)) => TopDownRuleOp (Wise lore) Source #

Remove all arguments to the map that are simply replicates. These can be turned into free variables instead.

liftIdentityMapping :: forall lore. (Bindable lore, SimplifiableLore lore, HasSOAC (Wise lore)) => BottomUpRuleOp (Wise lore) Source #

data SOACS Source #

The lore for the basic representation.

Instances

Instances details
Decorations SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

PrettyLore SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

ASTLore SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

Bindable SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

BinderOps SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

Checkable SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

CheckableOp SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

LocalScope SOACS InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

HasScope SOACS InternaliseM Source # 
Instance details

Defined in Futhark.Internalise.Monad

HasScope SOACS (ImpM lore r op) Source # 
Instance details

Defined in Futhark.CodeGen.ImpGen

Methods

lookupType :: VName -> ImpM lore r op Type Source #

lookupInfo :: VName -> ImpM lore r op (NameInfo SOACS) Source #

askScope :: ImpM lore r op (Scope SOACS) Source #

asksScope :: (Scope SOACS -> a) -> ImpM lore r op a Source #

BinderOps (Wise SOACS) Source # 
Instance details

Defined in Futhark.IR.SOACS.Simplify

HasSOAC (Wise SOACS) Source # 
Instance details

Defined in Futhark.IR.SOACS.Simplify

type LetDec SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type ExpDec SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type ExpDec SOACS = ()
type BodyDec SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type BodyDec SOACS = ()
type FParamInfo SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type LParamInfo SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type RetType SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type BranchType SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

type Op SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

Orphan instances