| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
LLVM.AST.Attribute
Description
Module to allow importing Attribute distinctly qualified. Before LLVM 3.5, the attributes which could be used on functions and those which could be used on parameters were disjoint. In LLVM 3.5, two attributes (readonly and readnone) can be used in both contexts. Because their interpretation is different in the two contexts and only those two attributes can be used in both contexts, I've opted to keep the Haskell types for parameter and function attributes distinct, but move the two types into separate modules so they can have contructors with the same names.
- data ParameterAttribute
- data FunctionAttribute
- = NoReturn
- | NoUnwind
- | ReadNone
- | ReadOnly
- | NoInline
- | NoRecurse
- | AlwaysInline
- | MinimizeSize
- | OptimizeForSize
- | OptimizeNone
- | StackProtect
- | StackProtectReq
- | StackProtectStrong
- | NoRedZone
- | NoImplicitFloat
- | Naked
- | InlineHint
- | StackAlignment Word64
- | ReturnsTwice
- | UWTable
- | NonLazyBind
- | Builtin
- | NoBuiltin
- | Cold
- | JumpTable
- | NoDuplicate
- | SanitizeAddress
- | SanitizeThread
- | SanitizeMemory
- | Speculatable
- | StringAttribute { }
- | AllocSize Word32 (Maybe Word32)
- | WriteOnly
- | ArgMemOnly
- | Convergent
- | InaccessibleMemOnly
- | InaccessibleMemOrArgMemOnly
- | SafeStack
- newtype GroupID = GroupID Word
Documentation
data ParameterAttribute Source #
data FunctionAttribute Source #
Constructors
| NoReturn | |
| NoUnwind | |
| ReadNone | |
| ReadOnly | |
| NoInline | |
| NoRecurse | |
| AlwaysInline | |
| MinimizeSize | |
| OptimizeForSize | |
| OptimizeNone | |
| StackProtect | |
| StackProtectReq | |
| StackProtectStrong | |
| NoRedZone | |
| NoImplicitFloat | |
| Naked | |
| InlineHint | |
| StackAlignment Word64 | |
| ReturnsTwice | |
| UWTable | |
| NonLazyBind | |
| Builtin | |
| NoBuiltin | |
| Cold | |
| JumpTable | |
| NoDuplicate | |
| SanitizeAddress | |
| SanitizeThread | |
| SanitizeMemory | |
| Speculatable | |
| StringAttribute | |
Fields
| |
| AllocSize Word32 (Maybe Word32) | AllocSize 0 (Just 0) is invalid |
| WriteOnly | |
| ArgMemOnly | |
| Convergent | |
| InaccessibleMemOnly | |
| InaccessibleMemOrArgMemOnly | |
| SafeStack | |