ghc-8.2.2: The GHC API

Vectorise.Utils.Hoisting

Synopsis

# Documentation

data Inline #

Records whether we should inline a particular binding.

Constructors

 Inline Arity DontInline

Add to the arity contained within an Inline, if any.

Says to always inline a binding.

hoistPolyVExpr :: [TyVar] -> [Var] -> Inline -> VM VExpr -> VM VExpr #

Hoist a polymorphic vectorised expression into a new top-level binding (representing a closure function).

The hoisted expression is parameterised by (1) a set of type variables and (2) a set of value variables that are passed as conventional type and value arguments. The latter is implicitly extended by the set of PA dictionaries required for the type variables.