llvm-party: General purpose LLVM bindings
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]
Modules
[Index] [Quick Jump]
- 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
- 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.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.1.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] | 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] |
Tested with | ghc ==8.8.1 |
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 | Jappie Klooster <hi@jappie.me> |
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-27T03:09:28Z |
Distributions | |
Downloads | 148 total (1 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |