llvm-party: General purpose LLVM bindings
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Warnings:
- 'ghc-options: -O2' is rarely needed. Check that it is giving a real benefit and not just imposing longer compile times on your users.
- 'cxx-options: -O[n]' is generally not needed. When building with optimisations Cabal automatically adds '-O2' for C++ code. Setting it yourself interferes with the --disable-optimization flag.
- These packages miss upper bounds: - QuickCheck - pretty-show - process - tasty - tasty-hunit - tasty-quickcheck - temporary Please add them, using `cabal gen-bounds` for suggestions. For more information see: https://pvp.haskell.org/
- Declared and used flag sets differ: debug, llvm-with-rtti, shared-llvm /= debug, llvm-with-rtti.
llvm-party is a set of Haskell bindings for LLVM http://llvm.org/. Unlike other current Haskell bindings, it uses an ADT to represent LLVM IR (http://llvm.org/docs/LangRef.html), and so offers two advantages: it handles almost all of the stateful complexities of using the LLVM API to build IR; and it supports moving IR not only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++ into Haskell. This is a fork of llvm-hs, with a major advantage that it's being maintained, for now.
[Skip to Readme]
Properties
Versions | 12.1.0, 12.1.0, 12.1.1 |
---|---|
Change log | CHANGELOG.md |
Dependencies | array (>=0.4.0.0 && <0.6), attoparsec (>=0.13 && <0.15), base (>=4.9 && <5), bytestring (>=0.10 && <0.12), containers (>=0.4.2.1 && <0.7), exceptions (>=0.8 && <0.11), fail (<4.10), mtl (>=2.1.3 && <2.3), template-haskell (>=2.5.0.0 && <2.20), transformers (>=0.3 && <0.6), unordered-containers (>=0.2 && <0.3), utf8-string (>=0.3.7 && <1.1) [details] |
License | BSD-3-Clause |
Copyright | (c) 2013 Benjamin S. Scarlet and Google Inc. |
Author | Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org>, Benjamin S. Scarlet |
Maintainer | Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org> |
Category | Compilers/Interpreters, Code Generation |
Home page | http://github.com/jappeace/llvm-party/ |
Bug tracker | http://github.com/jappeace/llvm-party/issues |
Source repo | head: git clone git://github.com/jappeace/llvm-party.git -b llvm-12 |
Uploaded | by Jappie at 2023-06-27T02:43:26Z |
Modules
- LLVM
- LLVM.AST
- LLVM.AST.AddrSpace
- LLVM.AST.Attribute
- LLVM.AST.COMDAT
- LLVM.AST.CallingConvention
- LLVM.AST.Constant
- LLVM.AST.DLL
- LLVM.AST.DataLayout
- LLVM.AST.Float
- LLVM.AST.FloatingPointPredicate
- LLVM.AST.FunctionAttribute
- LLVM.AST.Global
- LLVM.AST.InlineAssembly
- LLVM.AST.Instruction
- LLVM.AST.IntegerPredicate
- LLVM.AST.Linkage
- LLVM.AST.Name
- LLVM.AST.Operand
- LLVM.AST.ParameterAttribute
- LLVM.AST.RMWOperation
- LLVM.AST.ThreadLocalStorage
- LLVM.AST.Type
- LLVM.AST.Typed
- LLVM.AST.Visibility
- LLVM.Analysis
- LLVM.CodeGenOpt
- LLVM.CodeModel
- LLVM.CommandLine
- LLVM.Context
- LLVM.DataLayout
- LLVM.Diagnostic
- LLVM.Exception
- LLVM.ExecutionEngine
- LLVM.IRBuilder
- LLVM.IRBuilder.Constant
- LLVM.IRBuilder.Instruction
- Internal
- LLVM.IRBuilder.Internal.SnocList
- LLVM.IRBuilder.Module
- LLVM.IRBuilder.Monad
- Internal
- LLVM.Internal.Analysis
- LLVM.Internal.Atomicity
- LLVM.Internal.Attribute
- LLVM.Internal.BasicBlock
- LLVM.Internal.CallingConvention
- LLVM.Internal.Coding
- LLVM.Internal.CommandLine
- LLVM.Internal.Constant
- LLVM.Internal.Context
- LLVM.Internal.DataLayout
- LLVM.Internal.DecodeAST
- LLVM.Internal.Diagnostic
- LLVM.Internal.EncodeAST
- LLVM.Internal.ExecutionEngine
- FFI
- LLVM.Internal.FFI.Analysis
- LLVM.Internal.FFI.Assembly
- LLVM.Internal.FFI.Attribute
- LLVM.Internal.FFI.BasicBlock
- LLVM.Internal.FFI.BinaryOperator
- LLVM.Internal.FFI.Bitcode
- LLVM.Internal.FFI.Builder
- LLVM.Internal.FFI.ByteRangeCallback
- LLVM.Internal.FFI.Cleanup
- LLVM.Internal.FFI.CommandLine
- LLVM.Internal.FFI.Constant
- LLVM.Internal.FFI.Context
- LLVM.Internal.FFI.DataLayout
- LLVM.Internal.FFI.DynamicLibrary
- LLVM.Internal.FFI.ExecutionEngine
- LLVM.Internal.FFI.Function
- LLVM.Internal.FFI.GlobalAlias
- LLVM.Internal.FFI.GlobalValue
- LLVM.Internal.FFI.GlobalVariable
- LLVM.Internal.FFI.InlineAssembly
- LLVM.Internal.FFI.Instruction
- LLVM.Internal.FFI.InstructionDefs
- LLVM.Internal.FFI.Iterate
- LLVM.Internal.FFI.LLVMCTypes
- LLVM.Internal.FFI.MemoryBuffer
- LLVM.Internal.FFI.Metadata
- LLVM.Internal.FFI.Module
- LLVM.Internal.FFI.ObjectFile
- LLVM.Internal.FFI.OrcJIT
- LLVM.Internal.FFI.PassManager
- LLVM.Internal.FFI.PtrHierarchy
- LLVM.Internal.FFI.RTDyldMemoryManager
- LLVM.Internal.FFI.RawOStream
- LLVM.Internal.FFI.SMDiagnostic
- LLVM.Internal.FFI.ShortByteString
- LLVM.Internal.FFI.Target
- LLVM.Internal.FFI.Threading
- LLVM.Internal.FFI.Transforms
- LLVM.Internal.FFI.Type
- LLVM.Internal.FFI.User
- LLVM.Internal.FFI.Value
- LLVM.Internal.FastMathFlags
- LLVM.Internal.FloatingPointPredicate
- LLVM.Internal.Function
- LLVM.Internal.Global
- LLVM.Internal.InlineAssembly
- LLVM.Internal.Instruction
- LLVM.Internal.InstructionDefs
- LLVM.Internal.IntegerPredicate
- LLVM.Internal.LibraryFunction
- LLVM.Internal.Linking
- LLVM.Internal.MemoryBuffer
- LLVM.Internal.Metadata
- LLVM.Internal.Module
- LLVM.Internal.ObjectFile
- LLVM.Internal.Operand
- LLVM.Internal.OrcJIT
- LLVM.Internal.PassManager
- LLVM.Internal.RMWOperation
- LLVM.Internal.RawOStream
- LLVM.Internal.String
- LLVM.Internal.TailCallKind
- LLVM.Internal.Target
- LLVM.Internal.Threading
- LLVM.Internal.Type
- LLVM.Internal.Value
- LLVM.Linking
- LLVM.Module
- LLVM.OrcJIT
- LLVM.PassManager
- LLVM.Prelude
- LLVM.Relocation
- LLVM.Target
- LLVM.Target.LibraryFunction
- LLVM.Target.Options
- LLVM.Threading
- LLVM.Transforms
- LLVM.Triple
- LLVM.AST
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
shared-llvm | link against llvm shared rather than static library | Enabled |
llvm-with-rtti | assume llvm was built with LLVM_ENABLE_RTTI=ON (default is OFF) | Disabled |
debug | compile C(++) shims with debug info for ease of troubleshooting | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- llvm-party-12.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees