-- | Module to allow importing 'FunctionAttribute' distinctly qualified. module LLVM.AST.FunctionAttribute where import LLVM.Prelude -- | data FunctionAttribute = AllocSize Word32 (Maybe Word32) -- ^ AllocSize 0 (Just 0) is invalid | AlwaysInline | ArgMemOnly | Builtin | Cold | Convergent | InaccessibleMemOnly | InaccessibleMemOrArgMemOnly | InlineHint | JumpTable | MinimizeSize | MustProgress | Naked | NoBuiltin | NoDuplicate | NoFree | NoImplicitFloat | NoInline | NonLazyBind | NoRecurse | NoRedZone | NoReturn | NoSync | NoUnwind | OptimizeForSize | OptimizeNone | ReadNone | ReadOnly | ReturnsTwice | SafeStack | SanitizeAddress | SanitizeHWAddress | SanitizeMemory | SanitizeThread | Speculatable | StackAlignment Word64 | StackProtect | StackProtectReq | StackProtectStrong | StrictFP | StringAttribute { stringAttributeKind :: ShortByteString, stringAttributeValue :: ShortByteString -- ^ Use "" for no value -- the two are conflated } | UWTable | WillReturn | WriteOnly deriving (Eq, Ord, Read, Show, Typeable, Data, Generic) -- | newtype GroupID = GroupID Word deriving (Eq, Ord, Read, Show, Typeable, Data, Generic)