ghc-7.2.2: The GHC API

Vectorise.Utils

Contents

Synopsis

Documentation

Annotated Exprs

PD Functions

replicatePDSource

Arguments

:: CoreExpr

Number of copies in the resulting array.

-> CoreExpr

Value to replicate.

-> VM CoreExpr 

Produce an array containing copies of a given element.

emptyPD :: Type -> VM CoreExprSource

An empty array of the given type.

packByTagPDSource

Arguments

:: Type

Element type.

-> CoreExpr

Source array.

-> CoreExpr

Length of resulting array.

-> CoreExpr

Tag values of elements in source array.

-> CoreExpr

The tag value for the elements to select.

-> VM CoreExpr 

Select some elements from an array that correspond to a particular tag value

combinePDSource

Arguments

:: Type

Element type

-> CoreExpr

Length of resulting array

-> CoreExpr

Selector.

-> [CoreExpr]

Arrays to combine.

-> VM CoreExpr 

Combine some arrays based on a selector. The selector says which source array to choose for each element of the resulting array.

liftPD :: CoreExpr -> VM CoreExprSource

Like replicatePD but use the lifting context in the vectoriser state.

Scalars

Naming

newLocalVar :: FastString -> Type -> VM VarSource

Make a fresh local variable with the given type. The variable's name is formed using the given string as the prefix.