Safe Haskell | None |
---|
LLVM.ST
- data CUInt
- data CULLong
- data IntPredicate
- data FPPredicate
- data LLVM c s a
- class MonadLLVM m where
- type MemoryBuffer = ForeignPtr MemoryBuffer
- createMemoryBufferWithContentsOfFile :: FilePath -> IO MemoryBuffer
- createMemoryBufferWithSTDIN :: IO MemoryBuffer
- createMemoryBufferWithMemoryRange :: Ptr a -> CSize -> String -> Bool -> IO MemoryBuffer
- createMemoryBufferWithMemoryRangeCopy :: Ptr a -> CSize -> String -> IO MemoryBuffer
- run :: Context -> (forall c s. LLVM c s (STModule c s)) -> Module
- run2 :: Context -> (forall c s. LLVM c s (STModule c s, a)) -> (Module, a)
- runLLVM :: Context -> (forall c. LLVM c s a) -> ST s a
- type Context = ForeignPtr Context
- getGlobalContext :: IO Context
- contextCreate :: IO Context
- data STPassManager c s
- createPassManager :: (Functor (m c s), MonadLLVM m) => m c s (STPassManager c s)
- populateModulePassManager :: MonadLLVM m => CUInt -> CUInt -> STPassManager c s -> m c s ()
- populateLTOPassManager :: MonadLLVM m => CUInt -> CUInt -> Bool -> Bool -> STPassManager c s -> m c s ()
- runPassManager :: MonadLLVM m => STPassManager c s -> STModule c s -> m c s Bool
- data ModuleGen c s a
- class MonadLLVM m => MonadMG m where
- runModuleGen :: (Monad (m c s), MonadLLVM m) => STModule c s -> ModuleGen c s a -> m c s a
- data STModule c s
- data Module
- unsafeFreeze :: (Monad (m c s), MonadLLVM m) => STModule c s -> m c s Module
- unsafeThaw :: (Monad (m c s), MonadLLVM m) => Module -> m c s (STModule c s)
- parseBitcode :: (Functor (m c s), Monad (m c s), MonadLLVM m) => MemoryBuffer -> m c s (Either String (STModule c s))
- writeBitcodeToFile :: Module -> FilePath -> IO ()
- getModule :: MonadMG m => m c s (STModule c s)
- genModule :: (Monad (m c s), MonadLLVM m) => String -> ModuleGen c s a -> m c s a
- verifyModule :: Module -> Maybe String
- showModule :: (Monad (m c s), MonadLLVM m) => STModule c s -> m c s String
- linkModules :: (Monad (m c s), MonadLLVM m) => STModule c s -> STModule c s -> m c s (Maybe String)
- data STBasicBlock c s
- appendBasicBlock :: (Monad (m c s), MonadLLVM m) => String -> STValue c s -> m c s (STBasicBlock c s)
- data STValue c s
- data Linkage
- data Attribute
- = ZExtAttribute
- | SExtAttribute
- | NoReturnAttribute
- | InRegAttribute
- | StructRetAttribute
- | NoUnwindAttribute
- | NoAliasAttribute
- | ByValAttribute
- | NestAttribute
- | ReadNoneAttribute
- | ReadOnlyAttribute
- | NoInlineAttribute
- | AlwaysInlineAttribute
- | OptimizeForSizeAttribute
- | StackProtectAttribute
- | StackProtectReqAttribute
- | NoCaptureAttribute
- | NoRedZoneAttribute
- | NoImplicitFloatAttribute
- | NakedAttribute
- data CallingConvention
- = C
- | Fast
- | Cold
- | X86StdCall
- | X86FastCall
- | GHC
- showValue :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s String
- typeOf :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s (STType c s)
- findGlobal :: MonadMG m => String -> m c s (Maybe (STValue c s))
- findFunction :: MonadMG m => String -> m c s (Maybe (STValue c s))
- addFunction :: MonadMG m => String -> STType c s -> m c s (STValue c s)
- genFunction :: (Functor (m c s), Monad (m c s), MonadMG m) => String -> STType c s -> CodeGen c s a -> m c s a
- defineFunction :: (Functor (m c s), Monad (m c s), MonadMG m) => STValue c s -> CodeGen c s a -> m c s a
- runCodeGen :: (Monad (m c s), MonadMG m) => STValue c s -> CodeGen c s a -> ModuleGen c s a
- getFuncCallConv :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s CallingConvention
- setFuncCallConv :: (Monad (m c s), MonadLLVM m) => STValue c s -> CallingConvention -> m c s ()
- setInstrCallConv :: (Monad (m c s), MonadLLVM m) => STValue c s -> CallingConvention -> m c s ()
- getFunctionParams :: (Functor (m c s), Monad (m c s), MonadLLVM m) => STValue c s -> m c s [STValue c s]
- addParamAttrib :: (Monad (m c s), MonadLLVM m) => STValue c s -> Attribute -> m c s ()
- addFuncAttrib :: (Monad (m c s), MonadLLVM m) => STValue c s -> Attribute -> m c s ()
- removeAttrib :: (Monad (m c s), MonadLLVM m) => STValue c s -> Attribute -> m c s ()
- getLinkage :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Linkage
- setLinkage :: (Monad (m c s), MonadLLVM m) => STValue c s -> Linkage -> m c s ()
- getTailCall :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Bool
- setTailCall :: (Monad (m c s), MonadLLVM m) => STValue c s -> Bool -> m c s ()
- verifyFunction :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Bool
- getUndef :: (Monad (m c s), MonadLLVM m) => STType c s -> m c s (STValue c s)
- isConstant :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Bool
- isNull :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Bool
- isUndef :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Bool
- isUnreachable :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s Bool
- constInt :: (Monad (m c s), MonadLLVM m) => STType c s -> CULLong -> Bool -> m c s (STValue c s)
- constPtrNull :: (Monad (m c s), MonadLLVM m) => STType c s -> m c s (STValue c s)
- constString :: (Monad (m c s), MonadLLVM m) => String -> Bool -> m c s (STValue c s)
- constStruct :: (Monad (m c s), MonadLLVM m) => [STValue c s] -> Bool -> m c s (STValue c s)
- data STType c s
- data TypeKind
- typeKind :: (Monad (m c s), MonadLLVM m) => STType c s -> m c s TypeKind
- showType :: (Monad (m c s), MonadLLVM m) => STType c s -> m c s String
- findType :: MonadMG m => String -> m c s (Maybe (STType c s))
- sizeOf :: (Monad (m c s), MonadLLVM m) => STType c s -> m c s (STValue c s)
- intType :: (Monad (m c s), MonadLLVM m) => CUInt -> m c s (STType c s)
- floatType :: (Monad (m c s), MonadLLVM m) => m c s (STType c s)
- doubleType :: (Monad (m c s), MonadLLVM m) => m c s (STType c s)
- voidType :: (Monad (m c s), MonadLLVM m) => m c s (STType c s)
- functionType :: (Monad (m c s), MonadLLVM m) => STType c s -> [STType c s] -> Bool -> m c s (STType c s)
- structType :: (Monad (m c s), MonadLLVM m) => [STType c s] -> Bool -> m c s (STType c s)
- vectorType :: (Monad (m c s), MonadLLVM m) => STType c s -> CUInt -> m c s (STType c s)
- arrayType :: (Monad (m c s), MonadLLVM m) => STType c s -> CUInt -> m c s (STType c s)
- pointerTypeInSpace :: (Monad (m c s), MonadLLVM m) => STType c s -> CUInt -> m c s (STType c s)
- pointerType :: (Monad (m c s), MonadLLVM m) => STType c s -> m c s (STType c s)
- structCreateNamed :: (Monad (m c s), MonadLLVM m) => String -> m c s (STType c s)
- structSetBody :: (Monad (m c s), MonadLLVM m) => STType c s -> [STType c s] -> Bool -> m c s ()
- data CodeGen c s a
- class MonadMG m => MonadCG m where
- position :: MonadCG m => STBasicBlock c s -> STValue c s -> m c s ()
- positionAtEnd :: MonadCG m => STBasicBlock c s -> m c s ()
- positionBefore :: MonadCG m => STValue c s -> m c s ()
- positionAfter :: MonadCG m => STValue c s -> m c s ()
- getEntryBasicBlock :: MonadLLVM m => STValue c s -> m c s (STBasicBlock c s)
- getNextBasicBlock :: MonadLLVM m => STBasicBlock c s -> m c s (Maybe (STBasicBlock c s))
- getFirstInstruction :: MonadLLVM m => STBasicBlock c s -> m c s (STValue c s)
- getNextInstruction :: MonadLLVM m => STValue c s -> m c s (STValue c s)
- getPreviousInstruction :: MonadLLVM m => STValue c s -> m c s (STValue c s)
- getLastInstruction :: MonadLLVM m => STBasicBlock c s -> m c s (STValue c s)
- getInsertBlock :: MonadCG m => m c s (STBasicBlock c s)
- getFunction :: MonadCG m => m c s (STValue c s)
- getParams :: MonadCG m => m c s [STValue c s]
- getValueName :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s String
- setValueName :: (Monad (m c s), MonadLLVM m) => STValue c s -> String -> m c s ()
- buildTrunc :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildZExt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildSExt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildFPToUI :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildFPToSI :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildUIToFP :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildSIToFP :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildFPTrunc :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildFPExt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildPtrToInt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildIntToPtr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildPointerCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildTruncOrBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildZExtOrBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildSExtOrBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildInBoundsGEP :: (Monad (m c s), MonadCG m) => String -> STValue c s -> [STValue c s] -> m c s (STValue c s)
- buildAlloca :: (Monad (m c s), MonadCG m) => String -> STType c s -> m c s (STValue c s)
- buildLoad :: (Monad (m c s), MonadCG m) => String -> STValue c s -> m c s (STValue c s)
- buildStore :: (Monad (m c s), MonadCG m) => STValue c s -> STValue c s -> m c s (STValue c s)
- buildCall :: (Monad (m c s), MonadCG m) => String -> STValue c s -> [STValue c s] -> m c s (STValue c s)
- buildBr :: (Monad (m c s), MonadCG m) => STBasicBlock c s -> m c s (STValue c s)
- buildCondBr :: (Monad (m c s), MonadCG m) => STValue c s -> STBasicBlock c s -> STBasicBlock c s -> m c s (STValue c s)
- buildSwitch :: (Monad (m c s), MonadCG m) => STValue c s -> STBasicBlock c s -> CUInt -> m c s (STValue c s)
- addCase :: (Monad (m c s), MonadCG m) => STValue c s -> STValue c s -> STBasicBlock c b -> m c s ()
- buildPhi :: (Monad (m c s), MonadCG m) => String -> STType c s -> m c s (STValue c s)
- addIncoming :: (Monad (m c s), MonadCG m) => STValue c s -> [(STValue c s, STBasicBlock c s)] -> m c s ()
- buildCase :: (Functor (m c s), Monad (m c s), MonadCG m) => STValue c s -> m c s (STValue c s) -> [(STValue c s, m c s (STValue c s))] -> m c s (STValue c s)
- buildIf :: (Monad (m c s), MonadCG m) => STType c s -> STValue c s -> m c s (STValue c s) -> m c s (STValue c s) -> m c s (STValue c s)
- buildRet :: (Monad (m c s), MonadCG m) => STValue c s -> m c s (STValue c s)
- buildUnreachable :: (Monad (m c s), MonadCG m) => m c s (STValue c s)
- buildAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildFAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildFMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildFPCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)
- buildFSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildUDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildSDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildExactSDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildFDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildURem :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildSRem :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildFRem :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildShl :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildLShr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildAShr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildAnd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildOr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildXor :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildNeg :: (Monad (m c s), MonadCG m) => String -> STValue c s -> m c s (STValue c s)
- buildFNeg :: (Monad (m c s), MonadCG m) => String -> STValue c s -> m c s (STValue c s)
- buildNot :: (Monad (m c s), MonadCG m) => String -> STValue c s -> m c s (STValue c s)
- buildNSWAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildNSWMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildNSWNeg :: (Monad (m c s), MonadCG m) => String -> STValue c s -> m c s (STValue c s)
- buildNSWSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildNUWAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildNUWMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildNUWNeg :: (Monad (m c s), MonadCG m) => String -> STValue c s -> m c s (STValue c s)
- buildNUWSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildICmp :: (Monad (m c s), MonadCG m) => String -> IntPredicate -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildFCmp :: (Monad (m c s), MonadCG m) => String -> FPPredicate -> STValue c s -> STValue c s -> m c s (STValue c s)
- buildGlobalString :: (Monad (m c s), MonadCG m) => String -> String -> m c s (STValue c s)
- buildGlobalStringPtr :: (Monad (m c s), MonadCG m) => String -> String -> m c s (STValue c s)
- constAdd :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constSub :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constMul :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constFAdd :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constFMul :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constFPCast :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constFSub :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constUDiv :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constSDiv :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constFDiv :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constURem :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constSRem :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constFRem :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constAnd :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constOr :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constXor :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constShl :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constLShr :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constAShr :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)
- constGEP :: (Monad (m c s), MonadCG m) => STValue c s -> [STValue c s] -> m c s (STValue c s)
- constTrunc :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constSExt :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constZExt :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constFPTrunc :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constFPExt :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constUIToFP :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constSIToFP :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constFPToUI :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constFPToSI :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constPtrToInt :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constIntToPtr :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
- constBitCast :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)
Documentation
data CUInt
Haskell type representing the C unsigned int
type.
data CULLong
Haskell type representing the C unsigned long long
type.
data IntPredicate Source
data FPPredicate Source
Constructors
FPFalse | Always false (always folded) |
FPOEQ | True if ordered and equal |
FPOGT | True if ordered and greater than |
FPOGE | True if ordered and greater than or equal |
FPOLT | True if ordered and less than |
FPOLE | True if ordered and less than or equal |
FPONE | True if ordered and operands are unequal |
FPORD | True if ordered (no nans) |
FPUNO | True if unordered: isnan(X) | isnan(Y) |
FPUEQ | True if unordered or equal |
FPUGT | True if unordered or greater than |
FPUGE | True if unordered, greater than, or equal |
FPULT | True if unordered or less than |
FPULE | True if unordered, less than, or equal |
FPUNE | True if unordered or not equal |
FPT | Always true (always folded) |
createMemoryBufferWithMemoryRange :: Ptr a -> CSize -> String -> Bool -> IO MemoryBufferSource
createMemoryBufferWithMemoryRangeCopy :: Ptr a -> CSize -> String -> IO MemoryBufferSource
type Context = ForeignPtr ContextSource
data STPassManager c s Source
Instances
Eq (STPassManager c s) |
createPassManager :: (Functor (m c s), MonadLLVM m) => m c s (STPassManager c s)Source
populateModulePassManager :: MonadLLVM m => CUInt -> CUInt -> STPassManager c s -> m c s ()Source
populateLTOPassManager :: MonadLLVM m => CUInt -> CUInt -> Bool -> Bool -> STPassManager c s -> m c s ()Source
runPassManager :: MonadLLVM m => STPassManager c s -> STModule c s -> m c s BoolSource
parseBitcode :: (Functor (m c s), Monad (m c s), MonadLLVM m) => MemoryBuffer -> m c s (Either String (STModule c s))Source
writeBitcodeToFile :: Module -> FilePath -> IO ()Source
verifyModule :: Module -> Maybe StringSource
linkModules :: (Monad (m c s), MonadLLVM m) => STModule c s -> STModule c s -> m c s (Maybe String)Source
data STBasicBlock c s Source
Instances
Eq (STBasicBlock c s) |
appendBasicBlock :: (Monad (m c s), MonadLLVM m) => String -> STValue c s -> m c s (STBasicBlock c s)Source
An enumeration for the kinds of linkage for global values.
Constructors
ExternalLinkage | Externally visible function |
AvailableExternallyLinkage | |
LinkOnceAnyLinkage | Keep one copy of function when linking (inline) |
LinkOnceODRLinkage | Same, but only replaced by something equivalent. |
WeakAnyLinkage | Keep one copy of named function when linking (weak) |
WeakODRLinkage | Same, but only replaced by something equivalent. |
AppendingLinkage | Special purpose, only applies to global arrays |
InternalLinkage | Rename collisions when linking (static functions) |
PrivateLinkage | Like Internal, but omit from symbol table |
DLLImportLinkage | Function to be imported from DLL |
DLLExportLinkage | Function to be accessible from DLL |
ExternalWeakLinkage | ExternalWeak linkage description |
GhostLinkage | Stand-in functions for streaming fns from BC files |
CommonLinkage | Tentative definitions |
LinkerPrivateLinkage | Like Private, but linker removes. |
Constructors
data CallingConvention Source
Constructors
C | |
Fast | |
Cold | |
X86StdCall | |
X86FastCall | |
GHC |
genFunction :: (Functor (m c s), Monad (m c s), MonadMG m) => String -> STType c s -> CodeGen c s a -> m c s aSource
defineFunction :: (Functor (m c s), Monad (m c s), MonadMG m) => STValue c s -> CodeGen c s a -> m c s aSource
getFuncCallConv :: (Monad (m c s), MonadLLVM m) => STValue c s -> m c s CallingConventionSource
setFuncCallConv :: (Monad (m c s), MonadLLVM m) => STValue c s -> CallingConvention -> m c s ()Source
setInstrCallConv :: (Monad (m c s), MonadLLVM m) => STValue c s -> CallingConvention -> m c s ()Source
getFunctionParams :: (Functor (m c s), Monad (m c s), MonadLLVM m) => STValue c s -> m c s [STValue c s]Source
constInt :: (Monad (m c s), MonadLLVM m) => STType c s -> CULLong -> Bool -> m c s (STValue c s)Source
doubleType :: (Monad (m c s), MonadLLVM m) => m c s (STType c s)Source
functionType :: (Monad (m c s), MonadLLVM m) => STType c s -> [STType c s] -> Bool -> m c s (STType c s)Source
pointerTypeInSpace :: (Monad (m c s), MonadLLVM m) => STType c s -> CUInt -> m c s (STType c s)Source
structSetBody :: (Monad (m c s), MonadLLVM m) => STType c s -> [STType c s] -> Bool -> m c s ()Source
position :: MonadCG m => STBasicBlock c s -> STValue c s -> m c s ()Source
positionAtEnd :: MonadCG m => STBasicBlock c s -> m c s ()Source
positionBefore :: MonadCG m => STValue c s -> m c s ()Source
positionAfter :: MonadCG m => STValue c s -> m c s ()Source
getEntryBasicBlock :: MonadLLVM m => STValue c s -> m c s (STBasicBlock c s)Source
getNextBasicBlock :: MonadLLVM m => STBasicBlock c s -> m c s (Maybe (STBasicBlock c s))Source
getFirstInstruction :: MonadLLVM m => STBasicBlock c s -> m c s (STValue c s)Source
getNextInstruction :: MonadLLVM m => STValue c s -> m c s (STValue c s)Source
getPreviousInstruction :: MonadLLVM m => STValue c s -> m c s (STValue c s)Source
getLastInstruction :: MonadLLVM m => STBasicBlock c s -> m c s (STValue c s)Source
getInsertBlock :: MonadCG m => m c s (STBasicBlock c s)Source
getFunction :: MonadCG m => m c s (STValue c s)Source
buildTrunc :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildZExt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildSExt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildFPToUI :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildFPToSI :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildUIToFP :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildSIToFP :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildFPTrunc :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildFPExt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildPtrToInt :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildIntToPtr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildPointerCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildTruncOrBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildZExtOrBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildSExtOrBitCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildInBoundsGEP :: (Monad (m c s), MonadCG m) => String -> STValue c s -> [STValue c s] -> m c s (STValue c s)Source
buildCall :: (Monad (m c s), MonadCG m) => String -> STValue c s -> [STValue c s] -> m c s (STValue c s)Source
buildCondBr :: (Monad (m c s), MonadCG m) => STValue c s -> STBasicBlock c s -> STBasicBlock c s -> m c s (STValue c s)Source
buildSwitch :: (Monad (m c s), MonadCG m) => STValue c s -> STBasicBlock c s -> CUInt -> m c s (STValue c s)Source
addCase :: (Monad (m c s), MonadCG m) => STValue c s -> STValue c s -> STBasicBlock c b -> m c s ()Source
addIncoming :: (Monad (m c s), MonadCG m) => STValue c s -> [(STValue c s, STBasicBlock c s)] -> m c s ()Source
buildCase :: (Functor (m c s), Monad (m c s), MonadCG m) => STValue c s -> m c s (STValue c s) -> [(STValue c s, m c s (STValue c s))] -> m c s (STValue c s)Source
buildIf :: (Monad (m c s), MonadCG m) => STType c s -> STValue c s -> m c s (STValue c s) -> m c s (STValue c s) -> m c s (STValue c s)Source
buildUnreachable :: (Monad (m c s), MonadCG m) => m c s (STValue c s)Source
buildAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildFAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildFMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildFPCast :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STType c s -> m c s (STValue c s)Source
buildFSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildUDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildSDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildExactSDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildFDiv :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildURem :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildSRem :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildFRem :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildShl :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildLShr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildAShr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildAnd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildOr :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildXor :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildNSWAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildNSWMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildNSWSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildNUWAdd :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildNUWMul :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildNUWSub :: (Monad (m c s), MonadCG m) => String -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildICmp :: (Monad (m c s), MonadCG m) => String -> IntPredicate -> STValue c s -> STValue c s -> m c s (STValue c s)Source
buildFCmp :: (Monad (m c s), MonadCG m) => String -> FPPredicate -> STValue c s -> STValue c s -> m c s (STValue c s)Source
constFAdd :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constFMul :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constFPCast :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constFSub :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constUDiv :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constSDiv :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constFDiv :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constURem :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constSRem :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constFRem :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constLShr :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constAShr :: (Monad (m c s), MonadLLVM m) => STValue c s -> STValue c s -> m c s (STValue c s)Source
constTrunc :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constFPTrunc :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constFPExt :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constUIToFP :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constSIToFP :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constFPToUI :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constFPToSI :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source
constPtrToInt :: (Monad (m c s), MonadLLVM m) => STValue c s -> STType c s -> m c s (STValue c s)Source