Utility functions for the llvm interface https://wiki.haskell.org/LLVM
|Latest on Hackage:||0.7.3|
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
a type class for loading and storing sets of values with one command (macro) in
support instance declarations of LLVM classes in
handling of termination by a custom monad on top of
various kinds of loops (while) and condition structures (if-then-else) in
more functional loop construction using
complex Haskell values mapped to LLVM values in
automatic adaption to target specific extensions, currently used for access of vector operations that are specific to an SSE level on x86 processors in
LLVM.Extra.Extension(On x86 architectures we depend on the cpuid package that is needed for automatic detection of available features.)
advanced vector operations such as sum of all vector elements, cumulative sum, floor, non-negative fraction, absolute value in
type classes for handling scalar and vector operations in a uniform way in
a Makefile and a description of how to run LLVM code from within GHCi.