llvm-hs-pure-5.0.0: Pure Haskell LLVM functionality (no FFI).

Safe HaskellSafe
LanguageHaskell98

LLVM.AST.Type

Description

A representation of an LLVM type

Synopsis

Documentation

data FloatingPointType Source #

LLVM supports some special formats floating point format. This type is to distinguish those format. Also see http://llvm.org/docs/LangRef.html#floating-point-types

Constructors

HalfFP

16-bit floating point value

FloatFP

32-bit floating point value

DoubleFP

64-bit floating point value

FP128FP

128-bit floating point value (112-bit mantissa)

X86_FP80FP

80-bit floating point value (X87)

PPC_FP128FP

128-bit floating point value (two 64-bits)

Instances

Eq FloatingPointType Source # 
Data FloatingPointType Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FloatingPointType -> c FloatingPointType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FloatingPointType #

toConstr :: FloatingPointType -> Constr #

dataTypeOf :: FloatingPointType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c FloatingPointType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FloatingPointType) #

gmapT :: (forall b. Data b => b -> b) -> FloatingPointType -> FloatingPointType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FloatingPointType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FloatingPointType -> r #

gmapQ :: (forall d. Data d => d -> u) -> FloatingPointType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FloatingPointType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FloatingPointType -> m FloatingPointType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FloatingPointType -> m FloatingPointType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FloatingPointType -> m FloatingPointType #

Ord FloatingPointType Source # 
Read FloatingPointType Source # 
Show FloatingPointType Source # 
Generic FloatingPointType Source # 
type Rep FloatingPointType Source # 
type Rep FloatingPointType = D1 (MetaData "FloatingPointType" "LLVM.AST.Type" "llvm-hs-pure-5.0.0-EhWu9UEKVIZCRIhKnrKWrq" False) ((:+:) ((:+:) (C1 (MetaCons "HalfFP" PrefixI False) U1) ((:+:) (C1 (MetaCons "FloatFP" PrefixI False) U1) (C1 (MetaCons "DoubleFP" PrefixI False) U1))) ((:+:) (C1 (MetaCons "FP128FP" PrefixI False) U1) ((:+:) (C1 (MetaCons "X86_FP80FP" PrefixI False) U1) (C1 (MetaCons "PPC_FP128FP" PrefixI False) U1))))

data Type Source #

Instances

Eq Type Source # 

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

Data Type Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type #

toConstr :: Type -> Constr #

dataTypeOf :: Type -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Type) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) #

gmapT :: (forall b. Data b => b -> b) -> Type -> Type #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r #

gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type -> m Type #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type #

Ord Type Source # 

Methods

compare :: Type -> Type -> Ordering #

(<) :: Type -> Type -> Bool #

(<=) :: Type -> Type -> Bool #

(>) :: Type -> Type -> Bool #

(>=) :: Type -> Type -> Bool #

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

Read Type Source # 
Show Type Source # 

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

Generic Type Source # 

Associated Types

type Rep Type :: * -> * #

Methods

from :: Type -> Rep Type x #

to :: Rep Type x -> Type #

type Rep Type Source # 
type Rep Type = D1 (MetaData "Type" "LLVM.AST.Type" "llvm-hs-pure-5.0.0-EhWu9UEKVIZCRIhKnrKWrq" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "VoidType" PrefixI False) U1) ((:+:) (C1 (MetaCons "IntegerType" PrefixI True) (S1 (MetaSel (Just Symbol "typeBits") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Word32))) (C1 (MetaCons "PointerType" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "pointerReferent") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Type)) (S1 (MetaSel (Just Symbol "pointerAddrSpace") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AddrSpace)))))) ((:+:) (C1 (MetaCons "FloatingPointType" PrefixI True) (S1 (MetaSel (Just Symbol "floatingPointType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FloatingPointType))) ((:+:) (C1 (MetaCons "FunctionType" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "resultType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Type)) ((:*:) (S1 (MetaSel (Just Symbol "argumentTypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Type])) (S1 (MetaSel (Just Symbol "isVarArg") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))) (C1 (MetaCons "VectorType" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "nVectorElements") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Word32)) (S1 (MetaSel (Just Symbol "elementType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Type))))))) ((:+:) ((:+:) (C1 (MetaCons "StructureType" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "isPacked") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "elementTypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Type])))) ((:+:) (C1 (MetaCons "ArrayType" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "nArrayElements") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Word64)) (S1 (MetaSel (Just Symbol "elementType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Type)))) (C1 (MetaCons "NamedTypeReference" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "MetadataType" PrefixI False) U1) ((:+:) (C1 (MetaCons "LabelType" PrefixI False) U1) (C1 (MetaCons "TokenType" PrefixI False) U1)))))

void :: Type Source #

An abbreviation for VoidType

i1 :: Type Source #

An abbreviation for IntegerType 1

i8 :: Type Source #

An abbreviation for IntegerType 8

i16 :: Type Source #

An abbreviation for IntegerType 16

i32 :: Type Source #

An abbreviation for IntegerType 32

i64 :: Type Source #

An abbreviation for IntegerType 64

i128 :: Type Source #

An abbreviation for IntegerType 128

ptr :: Type -> Type Source #

An abbreviation for PointerType t (AddrSpace 0)

half :: Type Source #

An abbreviation for FloatingPointType HalfFP

float :: Type Source #

An abbreviation for FloatingPointType FloatFP

fp128 :: Type Source #

An abbreviation for FloatingPointType FP128FP