accelerate-llvm: Accelerate backend component generating LLVM IR
This library implements direct LLVM IR generation for the Accelerate
language. For further information, refer to the main
accelerate package. As a
user of Accelerate, you do not need to use this package; use
accelerate-llvm-native or accelerate-llvm-ptx instead.
- Dependencies
Haskell dependencies are available from Hackage. The following external dependencies are also required:
clang (not used to compile C code, but to compile generated LLVM IR via a mostly LLVM-version-independent interface)
libFFI (if using accelerate-llvm-native)
CUDA (if using accelerate-llvm-ptx)
For installation instructions, see the README.
This package includes (and exposes) a forked copy of
llvm-pretty due to some
breaking changes needed to make accelerate-llvm work. Upstreaming these
changes is planned. This code (under
Data.Array.Accelerate.LLVM.Internal.LLVMPretty) is not public API and
may disappear or change at any time.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Data
- Array
- Accelerate
- LLVM
- Data.Array.Accelerate.LLVM.AST
- Array
- Data.Array.Accelerate.LLVM.Array.Data
- Data.Array.Accelerate.LLVM.CodeGen
- Data.Array.Accelerate.LLVM.CodeGen.Arithmetic
- Data.Array.Accelerate.LLVM.CodeGen.Array
- Data.Array.Accelerate.LLVM.CodeGen.Base
- Data.Array.Accelerate.LLVM.CodeGen.Constant
- Data.Array.Accelerate.LLVM.CodeGen.Environment
- Data.Array.Accelerate.LLVM.CodeGen.Exp
- Data.Array.Accelerate.LLVM.CodeGen.IR
- Data.Array.Accelerate.LLVM.CodeGen.Intrinsic
- Data.Array.Accelerate.LLVM.CodeGen.Loop
- Data.Array.Accelerate.LLVM.CodeGen.Module
- Data.Array.Accelerate.LLVM.CodeGen.Monad
- Data.Array.Accelerate.LLVM.CodeGen.Permute
- Data.Array.Accelerate.LLVM.CodeGen.Profile
- Data.Array.Accelerate.LLVM.CodeGen.Ptr
- Data.Array.Accelerate.LLVM.CodeGen.Skeleton
- Data.Array.Accelerate.LLVM.CodeGen.Stencil
- Data.Array.Accelerate.LLVM.CodeGen.Sugar
- Data.Array.Accelerate.LLVM.CodeGen.Type
- Data.Array.Accelerate.LLVM.Compile
- Data.Array.Accelerate.LLVM.Compile.Cache
- Data.Array.Accelerate.LLVM.Embed
- Data.Array.Accelerate.LLVM.Execute
- Data.Array.Accelerate.LLVM.Execute.Async
- Data.Array.Accelerate.LLVM.Execute.Environment
- Data.Array.Accelerate.LLVM.Execute.Marshal
- Data.Array.Accelerate.LLVM.Extra
- Data.Array.Accelerate.LLVM.Foreign
- Internal
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.AST
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.DebugUtils
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Labels
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Labels.TH
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Lens
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.PP
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Parser
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple.AST
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple.Parse
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple.Print
- Data.Array.Accelerate.LLVM.Internal.LLVMPretty
- Data.Array.Accelerate.LLVM.Link
- Data.Array.Accelerate.LLVM.Link.Cache
- Data.Array.Accelerate.LLVM.State
- Data.Array.Accelerate.LLVM.Target
- Data.Array.Accelerate.LLVM.Target.ClangInfo
- TH
- Data.Array.Accelerate.TH.Compat
- LLVM
- Accelerate
- ByteString
- Short
- Data.ByteString.Short.Char8
- Data.ByteString.Short.Extra
- Short
- Array
- LLVM
- AST
- Type
- LLVM.AST.Type.Constant
- LLVM.AST.Type.Downcast
- LLVM.AST.Type.Function
- LLVM.AST.Type.GetElementPtr
- LLVM.AST.Type.Global
- LLVM.AST.Type.InlineAssembly
- LLVM.AST.Type.Instruction
- LLVM.AST.Type.Instruction.Atomic
- LLVM.AST.Type.Instruction.Compare
- LLVM.AST.Type.Instruction.RMW
- LLVM.AST.Type.Instruction.Volatile
- LLVM.AST.Type.Metadata
- LLVM.AST.Type.Name
- LLVM.AST.Type.Operand
- LLVM.AST.Type.Representation
- LLVM.AST.Type.Terminator
- Type
- AST
Downloads
- accelerate-llvm-1.4.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 1.0.0.0, 1.1.0.0, 1.2.0.0, 1.2.0.1, 1.3.0.0, 1.4.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | accelerate (>=1.4 && <1.5), accelerate-llvm, base (>=4.11 && <5), bytestring (>=0.10.4), constraints (>=0.9), containers (>=0.5 && <0.9), data-default-class (>=0.0.1), deepseq (>=1.3), directory (>=1.2.3), dlist (>=0.6), exceptions (>=0.6), filepath (>=1.0), formatting (>=7.0), hashable (>=1.1), microlens (>=0.4), microlens-th (>=0.4), monadLib (>=3.6.1), mtl (>=2.0), parsec (>=3), pretty (>=1.0.1), primitive (>=0.6.4), process, syb (>=0.7), template-haskell (>=2.7), text (>=1.2), th-abstraction (>=0.3.1 && <0.8), unordered-containers (>=0.2), vector (>=0.10) [details] |
| Tested with | ghc >=9.4 |
| License | BSD-3-Clause |
| Author | Trevor L. McDonell |
| Maintainer | Trevor L. McDonell <trevor.mcdonell@gmail.com> |
| Uploaded | by tomsmeding at 2026-04-02T16:43:36Z |
| Category | Accelerate, Compilers/Interpreters, Concurrency, Data, Parallelism |
| Bug tracker | https://github.com/AccelerateHS/accelerate/issues |
| Source repo | head: git clone https://github.com/AccelerateHS/accelerate-llvm.git this: git clone https://github.com/AccelerateHS/accelerate-llvm.git(tag v1.4.0.0) |
| Reverse Dependencies | 6 direct, 14 indirect [details] |
| Downloads | 6033 total (20 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2026-04-02 [all 1 reports] |