The latest version of llvm-extra is 0.12.1-0.

llvm-extra

Version 0.8.0.1 revision 0 uploaded by HenningThielemann.

Package meta

Synopsis
Utility functions for the llvm interface
Description

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,

  • support instance declarations of LLVM classes in LLVM.Extra.Class,

  • 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.Multi.Value

  • 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 LLVM.Extra.Vector

  • type classes for handling scalar and vector operations in a uniform way in LLVM.Extra.ScalarOrVector

  • a Makefile and a description of how to run LLVM code from within GHCi.

Author
Henning Thielemann <haskell@henning-thielemann.de>
Bug reports
n/a
Category
Compilers/Interpreters, Code Generation
Copyright
n/a
Homepage
https://wiki.haskell.org/LLVM
Maintainer
Henning Thielemann <haskell@henning-thielemann.de>
Package URL
n/a
Stability
Experimental

Components