ghc-7.2.2: The GHC API

Vectorise.Exp

Description

Vectorisation of expressions.

Synopsis

Documentation

vectPolyExprSource

Arguments

:: Bool

When vectorising the RHS of a binding, whether that binding is a loop breaker.

-> [Var] 
-> CoreExprWithFVs 
-> VM (Inline, Bool, VExpr) 

Vectorise a polymorphic expression.

vectScalarFunSource

Arguments

:: Bool

Was the function marked as scalar by the user?

-> [Var]

Functions names in same recursive binding group

-> CoreExpr

Expression to be vectorised

-> VM VExpr 

Vectorise an expression of functional type, where all arguments and the result are of scalar type (i.e., Int, Float, Double etc.) and which does not contain any subcomputations that involve parallel arrays. Such functionals do not requires the full blown vectorisation transformation; instead, they can be lifted by application of a member of the zipWith family (i.e., map, zipWith, zipWith3', etc.)