accelerate-llvm-1.4.0.0: accelerate-llvm.cabal
cabal-version: 2.2
name: accelerate-llvm
version: 1.4.0.0
tested-with: GHC >= 9.4
build-type: Simple
synopsis: Accelerate backend component generating LLVM IR
description:
This library implements direct LLVM IR generation for the /Accelerate/
language. For further information, refer to the main
<https://hackage.haskell.org/package/accelerate 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:
.
* <https://clang.llvm.org/ clang> (not used to compile C code, but to compile generated LLVM IR via a mostly LLVM-version-independent interface)
* <https://sourceware.org/libffi/ libFFI> (if using <https://hackage.haskell.org/package/accelerate-llvm-native accelerate-llvm-native>)
* <https://developer.nvidia.com/cuda-downloads CUDA> (if using <https://hackage.haskell.org/package/accelerate-llvm-ptx accelerate-llvm-ptx>)
.
For installation instructions, see the <https://github.com/AccelerateHS/accelerate-llvm#readme README>.
.
This package includes (and exposes) a forked copy of
<https://hackage.haskell.org/package/llvm-pretty 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.
license: BSD-3-Clause
license-file: LICENSE
author: Trevor L. McDonell
maintainer: Trevor L. McDonell <trevor.mcdonell@gmail.com>
bug-reports: https://github.com/AccelerateHS/accelerate/issues
category: Accelerate, Compilers/Interpreters, Concurrency, Data, Parallelism
extra-doc-files:
CHANGELOG.md
README.md
-- Build configuration
-- -------------------
Library
exposed-modules:
-- Accelerate-LLVM middle-end
Data.Array.Accelerate.LLVM.AST
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
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
-- LLVM code generation
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
-- Extras
Data.Array.Accelerate.TH.Compat
Data.ByteString.Short.Char8
Data.ByteString.Short.Extra
other-modules:
Paths_accelerate_llvm
autogen-modules:
Paths_accelerate_llvm
build-depends:
base >= 4.10 && < 5
, accelerate == 1.4.*
, 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
-- , llvm-hs >= 4.1 && < 16
-- , llvm-hs-pure >= 4.1 && < 16
-- , llvm-pretty >= 0.12
, mtl >= 2.0
, primitive >= 0.6.4
, process
, template-haskell
, text >= 1.2
, unordered-containers >= 0.2
, vector >= 0.10
-- Expose the modules from the (forked and edited) llvm-pretty here under a
-- namespace prefix. We need these modules in accelerate-llvm-native and
-- accelerate-llvm-ptx, so we must expose them publically, unfortunately.
build-depends: llvm-pretty-accfork
reexported-modules:
Data.Array.Accelerate.LLVM.Internal.LLVMPretty,
Data.Array.Accelerate.LLVM.Internal.LLVMPretty.AST,
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.Parser,
Data.Array.Accelerate.LLVM.Internal.LLVMPretty.PP,
Data.Array.Accelerate.LLVM.Internal.LLVMPretty.DebugUtils,
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
mixins:
llvm-pretty-accfork
(Text.LLVM as Data.Array.Accelerate.LLVM.Internal.LLVMPretty,
Text.LLVM.AST as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.AST,
Text.LLVM.Labels as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Labels,
Text.LLVM.Labels.TH as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Labels.TH,
Text.LLVM.Lens as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Lens,
Text.LLVM.Parser as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Parser,
Text.LLVM.PP as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.PP,
Text.LLVM.DebugUtils as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.DebugUtils,
Text.LLVM.Triple as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple,
Text.LLVM.Triple.AST as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple.AST,
Text.LLVM.Triple.Parse as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple.Parse,
Text.LLVM.Triple.Print as Data.Array.Accelerate.LLVM.Internal.LLVMPretty.Triple.Print)
hs-source-dirs:
src
default-language:
Haskell2010
ghc-options:
-O2
-Wall
-fwarn-tabs
-- Abridged from llvm-pretty.cabal
library llvm-pretty-accfork
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: llvm-pretty/src
exposed-modules: Text.LLVM
Text.LLVM.AST
Text.LLVM.Labels
Text.LLVM.Labels.TH
Text.LLVM.Lens
Text.LLVM.Parser
Text.LLVM.PP
Text.LLVM.DebugUtils
Text.LLVM.Triple
Text.LLVM.Triple.AST
Text.LLVM.Triple.Parse
Text.LLVM.Triple.Print
other-modules: Text.LLVM.Triple.Parse.ARM
Text.LLVM.Triple.Parse.LookupTable
Text.LLVM.Util
build-depends: base >= 4.11 && < 5,
containers >= 0.4,
parsec >= 3,
pretty >= 1.0.1,
monadLib >= 3.6.1,
microlens >= 0.4,
microlens-th >= 0.4,
syb >= 0.7,
template-haskell >= 2.7,
th-abstraction >= 0.3.1 && <0.8
source-repository head
type: git
location: https://github.com/AccelerateHS/accelerate-llvm.git
source-repository this
type: git
tag: v1.4.0.0
location: https://github.com/AccelerateHS/accelerate-llvm.git
-- vim: nospell