| Safe Haskell | Safe-Inferred |
|---|
LLVM.General.AST
Description
This module and descendants define AST data types to represent LLVM code. Note that these types are designed for fidelity rather than convenience - if the truth of what LLVM supports is less than pretty, so be it.
- data Module = Module {}
- defaultModule :: Module
- data Definition
- data Global
- = GlobalVariable Name Linkage Visibility Bool AddrSpace Bool Bool Type (Maybe Constant) (Maybe String) Word32
- | GlobalAlias Name Linkage Visibility Type Constant
- | Function Linkage Visibility CallingConvention [ParameterAttribute] Type Name ([Parameter], Bool) [FunctionAttribute] (Maybe String) Word32 [BasicBlock]
- globalVariableDefaults :: Global
- globalAliasDefaults :: Global
- functionDefaults :: Global
- data Parameter = Parameter Type Name [ParameterAttribute]
- data BasicBlock = BasicBlock Name [Named Instruction] (Named Terminator)
- module LLVM.General.AST.Instruction
- module LLVM.General.AST.Name
- module LLVM.General.AST.Operand
- module LLVM.General.AST.Type
Documentation
data Module
Constructors
| Module | |
Fields
| |
helper for making Modules
data Definition
Any thing which can be at the top level of a Module
Constructors
| GlobalDefinition Global | |
| TypeDefinition Name (Maybe Type) | |
| MetadataNodeDefinition MetadataNodeID [Maybe Operand] | |
| NamedMetadataDefinition String [MetadataNodeID] | |
| ModuleInlineAssembly String |
Instances
data Global
Constructors
globalVariableDefaults :: Global
helper for making GlobalVariables
helper for making GlobalAliass
helper for making Functions
data Parameter
Constructors
| Parameter Type Name [ParameterAttribute] |
data BasicBlock
http://llvm.org/doxygen/classllvm_1_1BasicBlock.html
LLVM code in a function is a sequence of BasicBlocks each with a label,
some instructions, and a terminator.
Constructors
| BasicBlock Name [Named Instruction] (Named Terminator) |
Instances
module LLVM.General.AST.Instruction
module LLVM.General.AST.Name
module LLVM.General.AST.Operand
module LLVM.General.AST.Type