|
| LLVM.FFI.Core | | Portability | requires GHC 6.8, LLVM | | Stability | experimental | | Maintainer | bos@serpentine.com |
|
|
|
|
|
| Description |
| This module provides direct access to the LLVM C bindings.
|
|
| Synopsis |
|
|
|
|
| Modules
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Module providers
|
|
|
|
|
|
|
|
|
|
| Types
|
|
|
|
|
|
|
|
|
|
|
|
|
| Constructors | | VoidTypeKind | | | FloatTypeKind | | | DoubleTypeKind | | | X86_FP80TypeKind | | | FP128TypeKind | | | PPC_FP128TypeKind | | | LabelTypeKind | | | IntegerTypeKind | | | FunctionTypeKind | | | StructTypeKind | | | ArrayTypeKind | | | PointerTypeKind | | | OpaqueTypeKind | | | VectorTypeKind | |
|
|
|
| Integer types
|
|
|
|
|
|
|
|
|
|
|
|
|
| :: CUInt | width in bits
| | -> TypeRef | | | An integer type of the given width.
|
|
|
|
|
| Real types
|
|
|
|
|
|
|
|
|
|
|
|
| Function types
|
|
|
| :: TypeRef | return type
| | -> Ptr TypeRef | array of argument types
| | -> CUInt | number of elements in array
| | -> CInt | non-zero if function is varargs
| | -> TypeRef | | | Create a function type.
|
|
|
|
| Indicate whether a function takes varargs.
|
|
|
| Give a function's return type.
|
|
|
| Give the number of fixed parameters that a function takes.
|
|
|
| Fill out an array with the types of a function's fixed
parameters.
|
|
| Other types
|
|
|
|
|
|
|
|
| Array, pointer, and vector types
|
|
|
|
|
|
|
|
|
|
|
|
| Get the type of a sequential type's elements.
|
|
|
|
|
|
|
|
| Struct types
|
|
|
|
|
|
|
|
|
|
| Type handles
|
|
|
|
|
|
|
|
|
|
| Values
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Constants
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Global variables, functions, and aliases (globals)
|
|
|
| An enumeration for the kinds of linkage for global values.
| | Constructors | | ExternalLinkage | Externally visible function
| | AvailableExternallyLinkage | | | LinkOnceAnyLinkage | Keep one copy of function when linking (inline)
| | LinkOnceODRLinkage | Same, but only replaced by something equivalent.
| | WeakAnyLinkage | Keep one copy of named function when linking (weak)
| | WeakODRLinkage | Same, but only replaced by something equivalent.
| | AppendingLinkage | Special purpose, only applies to global arrays
| | InternalLinkage | Rename collisions when linking (static functions)
| | PrivateLinkage | Like Internal, but omit from symbol table
| | DLLImportLinkage | Function to be imported from DLL
| | DLLExportLinkage | Function to be accessible from DLL
| | ExternalWeakLinkage | ExternalWeak linkage description
| | GhostLinkage | Stand-in functions for streaming fns from BC files
| | CommonLinkage | Tentative definitions
| | LinkerPrivateLinkage | Like Private, but linker removes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| An enumeration for the kinds of visibility of global values.
| | Constructors | | DefaultVisibility | The GV is visible
| | HiddenVisibility | The GV is hidden
| | ProtectedVisibility | The GV is protected
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Global variables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Phi nodes
|
|
|
|
|
|
|
|
|
|
| Calling conventions
|
|
|
| Constructors | | C | | | Fast | | | Cold | | | X86StdCall | | | X86FastCall | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Constants
|
|
| Scalar constants
|
|
|
|
|
|
| Composite constants
|
|
|
|
|
|
|
|
|
|
| Constant expressions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Basic blocks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Instruction building
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Terminators
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Arithmetic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Memory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Casts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Misc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Comparisons
|
|
|
|
|
|
| Miscellaneous instructions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Other helpers
|
|
|
|
| Memory buffers
|
|
|
|
|
|
|
|
|
|
|
|
| Error handling
|
|
|
|
| Parameter passing
|
|
|
|
|
|
|
|
|
| Constructors | | ZExtAttribute | | | SExtAttribute | | | NoReturnAttribute | | | InRegAttribute | | | StructRetAttribute | | | NoUnwindAttribute | | | NoAliasAttribute | | | ByValAttribute | | | NestAttribute | | | ReadNoneAttribute | | | ReadOnlyAttribute | | | NoInlineAttribute | | | AlwaysInlineAttribute | | | OptimizeForSizeAttribute | | | StackProtectAttribute | | | StackProtectReqAttribute | | | NoCaptureAttribute | | | NoRedZoneAttribute | | | NoImplicitFloatAttribute | | | NakedAttribute | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Pass manager
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Context functions
|
|
|
|
|
|
| Debug
|
|
|
|
| Misc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Context functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Build instruction from opcode
|
|
|
|
|
|
|
|
|
|
|
|
| Use
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Produced by Haddock version 2.6.0 |