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

Futhark.Optimise.ArrayShortCircuiting.ArrayCoalescing

Description

The bulk of the short-circuiting implementation.

Synopsis

Documentation

mkCoalsTab :: MonadFreshNames m => Prog (Aliases SeqMem) -> m (Map Name CoalsTab) Source #

Given a Prog 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 => Prog (Aliases GPUMem) -> m (Map Name CoalsTab) Source #

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

mkCoalsTabMC :: MonadFreshNames m => Prog (Aliases MCMem) -> m (Map Name CoalsTab) Source #

Given a Prog in MCMem representation, compute the coalescing table by folding over each function.