llvm-general-pure-3.5.0.0: src/LLVM/General/AST/FunctionAttribute.hs
-- | Module to allow importing 'FunctionAttribute' distinctly qualified.
module LLVM.General.AST.FunctionAttribute where
import LLVM.General.Prelude
-- | <http://llvm.org/docs/LangRef.html#function-attributes>
data FunctionAttribute
= NoReturn
| NoUnwind
| ReadNone
| ReadOnly
| NoInline
| AlwaysInline
| MinimizeSize
| OptimizeForSize
| OptimizeNone
| StackProtect
| StackProtectReq
| StackProtectStrong
| NoRedZone
| NoImplicitFloat
| Naked
| InlineHint
| StackAlignment Word64
| ReturnsTwice
| UWTable
| NonLazyBind
| Builtin
| NoBuiltin
| Cold
| JumpTable
| NoDuplicate
| SanitizeAddress
| SanitizeThread
| SanitizeMemory
| StringAttribute {
stringAttributeKind :: String,
stringAttributeValue :: String -- ^ Use "" for no value -- the two are conflated
}
deriving (Eq, Ord, Read, Show, Typeable, Data)
-- | <http://llvm.org/docs/LangRef.html#attribute-groups>
newtype GroupID = GroupID Word
deriving (Eq, Ord, Read, Show, Typeable, Data)