This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
The Low-Level Virtual-Machine is a compiler back-end with optimizer.
You may also call it a high-level portable assembler.
This package provides various utility functions
for the Haskell interface to LLVM, for example:
arithmetic operations with more general types
but better type inference than the llvm interface
in LLVM.Extra.Arithmetic,
a type class for loading and storing sets of values with one command (macro)
in LLVM.Extra.Memory,
storing and reading Haskell values in an LLVM compatible format
in LLVM.Extra.Marshal,
LLVM functions for loading and storing values in Haskell's Storable format
in LLVM.Extra.Storable,
support value tuples and instance declarations of LLVM classes
in LLVM.Extra.Tuple,
handling of termination by a custom monad on top of CodeGenFunction
in LLVM.Extra.MaybeContinuation
various kinds of loops (while) and condition structures (if-then-else)
in LLVM.Extra.Control
more functional loop construction using LLVM.Extra.Iterator
complex Haskell values mapped to LLVM values in LLVM.Extra.Nice.Value
advanced vector operations
such as sum of all vector elements, cumulative sum,
floor, non-negative fraction, absolute value
in LLVM.Extra.Vector
type classes for handling scalar and vector operations
in a uniform way
in LLVM.Extra.ScalarOrVector