Safe Haskell | None |
---|
Dvda.Algorithm.Construct
- data Algorithm a = Algorithm {
- algInDims :: Int
- algOutDims :: Int
- algOps :: [AlgOp a]
- algWorkSize :: Int
- data AlgOp a
- newtype Node = Node Int
- newtype InputIdx = InputIdx Int
- newtype OutputIdx = OutputIdx Int
- constructAlgorithm :: Vector (Expr a) -> Vector (Expr a) -> IO (Algorithm a)
- squashWorkVector :: Algorithm a -> Algorithm a
Documentation
Constructors
Algorithm | |
Fields
|
constructAlgorithm :: Vector (Expr a) -> Vector (Expr a) -> IO (Algorithm a)Source
create a SSA algorithm from a vector of symbolic inputs and outputs
squashWorkVector :: Algorithm a -> Algorithm aSource
Converts SSA to live variables. This reduces the size of the work vector by re-using dead registers. Does this break if it's called more than once? Maybe these should have different types