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 (Maybe String) [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 Module
s
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 GlobalVariable
s
helper for making GlobalAlias
s
helper for making Function
s
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 BasicBlock
s 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