futhark-0.22.4: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Futhark.Optimise.ArrayShortCircuiting.ArrayCoalescing

Description

The bulk of the short-circuiting implementation.

Synopsis

Documentation

mkCoalsTab :: MonadFreshNames m => FunDef (Aliases SeqMem) -> m CoalsTab Source #

Given a FunDef in SegMem representation, compute the coalescing table by folding over each function.

type CoalsTab = Map VName CoalsEntry Source #

maps a memory-block name to a CoalsEntry. Among other things, it contains vartab, a map in which each variable associated to that memory block is bound to its Coalesced info.

mkCoalsTabGPU :: MonadFreshNames m => FunDef (Aliases GPUMem) -> m CoalsTab Source #

Given a FunDef in GPUMem representation, compute the coalescing table by folding over each function.