futhark-0.7.3: src/Futhark/CodeGen/ImpGen/Sequential.hs
{-# LANGUAGE TypeFamilies #-}
module Futhark.CodeGen.ImpGen.Sequential
( compileProg
)
where
import Futhark.Error
import qualified Futhark.CodeGen.ImpCode.Sequential as Imp
import qualified Futhark.CodeGen.ImpGen as ImpGen
import Futhark.Representation.ExplicitMemory
import Futhark.MonadFreshNames
compileProg :: MonadFreshNames m => Prog ExplicitMemory -> m (Either InternalError Imp.Program)
compileProg = ImpGen.compileProg ops Imp.DefaultSpace
where ops = ImpGen.defaultOperations opCompiler
opCompiler :: ImpGen.OpCompiler ExplicitMemory Imp.Sequential
opCompiler dest (Alloc e space) =
ImpGen.compileAlloc dest e space
opCompiler _ (Inner _) =
compilerBugS "Cannot handle kernels in sequential code generator."