ghc-7.0.3: The GHC API

PrimOp

# Documentation

data PrimOp

Constructors

CharGtOp |
CharGeOp |
CharEqOp |
CharNeOp |
CharLtOp |
CharLeOp |
OrdOp |
IntAddOp |
IntSubOp |
IntMulOp |
IntMulMayOfloOp |
IntQuotOp |
IntRemOp |
IntNegOp |
IntAddCOp |
IntSubCOp |
IntGtOp |
IntGeOp |
IntEqOp |
IntNeOp |
IntLtOp |
IntLeOp |
ChrOp |
Int2WordOp |
Int2FloatOp |
Int2DoubleOp |
ISllOp |
ISraOp |
ISrlOp |
WordAddOp |
WordSubOp |
WordMulOp |
WordQuotOp |
WordRemOp |
AndOp |
OrOp |
XorOp |
NotOp |
SllOp |
SrlOp |
Word2IntOp |
WordGtOp |
WordGeOp |
WordEqOp |
WordNeOp |
WordLtOp |
WordLeOp |
Narrow8IntOp |
Narrow16IntOp |
Narrow32IntOp |
Narrow8WordOp |
Narrow16WordOp |
Narrow32WordOp |
DoubleGtOp |
DoubleGeOp |
DoubleEqOp |
DoubleNeOp |
DoubleLtOp |
DoubleLeOp |
DoubleAddOp |
DoubleSubOp |
DoubleMulOp |
DoubleDivOp |
DoubleNegOp |
Double2IntOp |
Double2FloatOp |
DoubleExpOp |
DoubleLogOp |
DoubleSqrtOp |
DoubleSinOp |
DoubleCosOp |
DoubleTanOp |
DoubleAsinOp |
DoubleAcosOp |
DoubleAtanOp |
DoubleSinhOp |
DoubleCoshOp |
DoubleTanhOp |
DoublePowerOp |
DoubleDecode_2IntOp |
FloatGtOp |
FloatGeOp |
FloatEqOp |
FloatNeOp |
FloatLtOp |
FloatLeOp |
FloatAddOp |
FloatSubOp |
FloatMulOp |
FloatDivOp |
FloatNegOp |
Float2IntOp |
FloatExpOp |
FloatLogOp |
FloatSqrtOp |
FloatSinOp |
FloatCosOp |
FloatTanOp |
FloatAsinOp |
FloatAcosOp |
FloatAtanOp |
FloatSinhOp |
FloatCoshOp |
FloatTanhOp |
FloatPowerOp |
Float2DoubleOp |
FloatDecode_IntOp |
NewArrayOp |
SameMutableArrayOp |
ReadArrayOp |
WriteArrayOp |
IndexArrayOp |
UnsafeFreezeArrayOp |
UnsafeThawArrayOp |
NewByteArrayOp_Char |
NewPinnedByteArrayOp_Char |
NewAlignedPinnedByteArrayOp_Char |
ByteArrayContents_Char |
SameMutableByteArrayOp |
UnsafeFreezeByteArrayOp |
SizeofByteArrayOp |
SizeofMutableByteArrayOp |
IndexByteArrayOp_Char |
IndexByteArrayOp_WideChar |
IndexByteArrayOp_Int |
IndexByteArrayOp_Word |
IndexByteArrayOp_Addr |
IndexByteArrayOp_Float |
IndexByteArrayOp_Double |
IndexByteArrayOp_StablePtr |
IndexByteArrayOp_Int8 |
IndexByteArrayOp_Int16 |
IndexByteArrayOp_Int32 |
IndexByteArrayOp_Int64 |
IndexByteArrayOp_Word8 |
IndexByteArrayOp_Word16 |
IndexByteArrayOp_Word32 |
IndexByteArrayOp_Word64 |
ReadByteArrayOp_Char |
ReadByteArrayOp_WideChar |
ReadByteArrayOp_Int |
ReadByteArrayOp_Word |
ReadByteArrayOp_Addr |
ReadByteArrayOp_Float |
ReadByteArrayOp_Double |
ReadByteArrayOp_StablePtr |
ReadByteArrayOp_Int8 |
ReadByteArrayOp_Int16 |
ReadByteArrayOp_Int32 |
ReadByteArrayOp_Int64 |
ReadByteArrayOp_Word8 |
ReadByteArrayOp_Word16 |
ReadByteArrayOp_Word32 |
ReadByteArrayOp_Word64 |
WriteByteArrayOp_Char |
WriteByteArrayOp_WideChar |
WriteByteArrayOp_Int |
WriteByteArrayOp_Word |
WriteByteArrayOp_Addr |
WriteByteArrayOp_Float |
WriteByteArrayOp_Double |
WriteByteArrayOp_StablePtr |
WriteByteArrayOp_Int8 |
WriteByteArrayOp_Int16 |
WriteByteArrayOp_Int32 |
WriteByteArrayOp_Int64 |
WriteByteArrayOp_Word8 |
WriteByteArrayOp_Word16 |
WriteByteArrayOp_Word32 |
WriteByteArrayOp_Word64 |
AddrAddOp |
AddrSubOp |
AddrRemOp |
Addr2IntOp |
Int2AddrOp |
AddrGtOp |
AddrGeOp |
AddrEqOp |
AddrNeOp |
AddrLtOp |
AddrLeOp |
IndexOffAddrOp_Char |
IndexOffAddrOp_WideChar |
IndexOffAddrOp_Int |
IndexOffAddrOp_Word |
IndexOffAddrOp_Addr |
IndexOffAddrOp_Float |
IndexOffAddrOp_Double |
IndexOffAddrOp_StablePtr |
IndexOffAddrOp_Int8 |
IndexOffAddrOp_Int16 |
IndexOffAddrOp_Int32 |
IndexOffAddrOp_Int64 |
IndexOffAddrOp_Word8 |
IndexOffAddrOp_Word16 |
IndexOffAddrOp_Word32 |
IndexOffAddrOp_Word64 |
ReadOffAddrOp_Char |
ReadOffAddrOp_WideChar |
ReadOffAddrOp_Int |
ReadOffAddrOp_Word |
ReadOffAddrOp_Addr |
ReadOffAddrOp_Float |
ReadOffAddrOp_Double |
ReadOffAddrOp_StablePtr |
ReadOffAddrOp_Int8 |
ReadOffAddrOp_Int16 |
ReadOffAddrOp_Int32 |
ReadOffAddrOp_Int64 |
ReadOffAddrOp_Word8 |
ReadOffAddrOp_Word16 |
ReadOffAddrOp_Word32 |
ReadOffAddrOp_Word64 |
WriteOffAddrOp_Char |
WriteOffAddrOp_WideChar |
WriteOffAddrOp_Int |
WriteOffAddrOp_Word |
WriteOffAddrOp_Addr |
WriteOffAddrOp_Float |
WriteOffAddrOp_Double |
WriteOffAddrOp_StablePtr |
WriteOffAddrOp_Int8 |
WriteOffAddrOp_Int16 |
WriteOffAddrOp_Int32 |
WriteOffAddrOp_Int64 |
WriteOffAddrOp_Word8 |
WriteOffAddrOp_Word16 |
WriteOffAddrOp_Word32 |
WriteOffAddrOp_Word64 |
NewMutVarOp |
ReadMutVarOp |
WriteMutVarOp |
SameMutVarOp |
AtomicModifyMutVarOp |
CatchOp |
RaiseOp |
RaiseIOOp |
MaskAsyncExceptionsOp |
MaskUninterruptibleOp |
UnmaskAsyncExceptionsOp |
MaskStatus |
AtomicallyOp |
RetryOp |
CatchRetryOp |
CatchSTMOp |
Check |
NewTVarOp |
ReadTVarOp |
ReadTVarIOOp |
WriteTVarOp |
SameTVarOp |
NewMVarOp |
TakeMVarOp |
TryTakeMVarOp |
PutMVarOp |
TryPutMVarOp |
SameMVarOp |
IsEmptyMVarOp |
DelayOp |
WaitReadOp |
WaitWriteOp |
ForkOp |
ForkOnOp |
KillThreadOp |
YieldOp |
MyThreadIdOp |
LabelThreadOp |
IsCurrentThreadBoundOp |
NoDuplicateOp |
ThreadStatusOp |
MkWeakOp |
MkWeakForeignEnvOp |
DeRefWeakOp |
FinalizeWeakOp |
TouchOp |
MakeStablePtrOp |
DeRefStablePtrOp |
EqStablePtrOp |
MakeStableNameOp |
EqStableNameOp |
StableNameToIntOp |
ReallyUnsafePtrEqualityOp |
ParOp |
GetSparkOp |
NumSparks |
ParGlobalOp |
ParLocalOp |
ParAtOp |
ParAtAbsOp |
ParAtRelOp |
ParAtForNowOp |
DataToTagOp |
TagToEnumOp |
AddrToHValueOp |
MkApUpd0_Op |
NewBCOOp |
UnpackClosureOp |
GetApStackValOp |
TraceCcsOp |
TraceEventOp |

Instances

Eq PrimOp |
Ord PrimOp |
Show PrimOp |
Outputable PrimOp |

allThePrimOps :: [PrimOp]

primOpType :: PrimOp -> Type

primOpSig :: PrimOp -> ([TyVar], [Type], Type, Arity, StrictSig)

primOpTag :: PrimOp -> Int

maxPrimOpTag :: Int

primOpOcc :: PrimOp -> OccName

tagToEnumKey :: Unique

primOpOutOfLine :: PrimOp -> Bool

primOpNeedsWrapper :: PrimOp -> Bool

primOpOkForSpeculation :: PrimOp -> Bool

primOpIsCheap :: PrimOp -> Bool

primOpIsDupable :: PrimOp -> Bool

getPrimOpResultInfo :: PrimOp -> PrimOpResultInfo

data PrimOpResultInfo

Constructors

ReturnsPrim PrimRep |
ReturnsAlg TyCon |

data PrimCall

Constructors

PrimCall CLabelString PackageId |

Instances

Outputable PrimCall |