Llvm

# Modules, Functions and Blocks

data LlvmModule

data LlvmFunction

data LlvmFunctionDecl

type LlvmFunctions

type LlvmFunctionDecls

data LlvmStatement

data LlvmExpression

type LlvmBlocks

data LlvmBlock

type LlvmBlockId

data LlvmParamAttr

type LlvmParameter

# Atomic operations

data LlvmAtomicOp

# Fence synchronization

data LlvmSyncOrdering

# Call Handling

data LlvmCallConvention

data LlvmCallType

data LlvmParameterListType

data LlvmLinkageType

data LlvmFuncAttr

# Operations and Comparisons

data LlvmCmpOp

data LlvmMachOp

data LlvmCastOp

# Variables and Type System

data LlvmVar

data LlvmStatic

data LlvmLit

data LlvmType

type LlvmAlias

data LMGlobal

type LMString

type LMSection

type LMAlign

data LMConst

## Some basic types

i64

i32

i16

i8

i1

i8Ptr

llvmWord

llvmWordPtr

## Metadata types

data MetaExpr

data MetaAnnot

data MetaDecl

data MetaId

## Operations on the type system.

isGlobal

getLitType

getVarType

getLink

getStatType

pVarLift

pVarLower

pLift

pLower

isInt

isFloat

isPointer

isVector

llvmWidthInBits

# Pretty Printing

ppLit

ppName

ppPlainName

ppLlvmModule

ppLlvmComments

ppLlvmComment

ppLlvmGlobals

ppLlvmGlobal

ppLlvmFunctionDecls

ppLlvmFunctionDecl

ppLlvmFunctions

ppLlvmFunction

ppLlvmAlias

ppLlvmAliases

ppLlvmMetas

ppLlvmMeta