LLVM Backend
Generate object code using LLVM.
The LLVM backend is the original and default backend for Volt, and as such is the most fully featured.
See also
-
http://llvm.org
Modules
volt.llvm.intrinsicVersion | Get the intrinsic version. |
volt.llvm.backend | Main module for the LLVM Backend. |
volt.llvm.host | Host or JIT compilation code. |
volt.llvm.state | Implementation of the State class. |
volt.llvm.toplevel | Code handling control flow and toplevel contstructs. |
volt.llvm.type | Code and classes for turning Volt Types into LLVM types. |
volt.llvm.constant | Code for generating constant expresions. |
volt.llvm.expression | Most of the expression to llvmbitcode generation code is in this module. |
volt.llvm.interfaces | Interfaces that the rest of the LLVM Backend code uses. |
volt.llvm.common | Common code generation code. |
volt.llvm.debugInfo | Debug info generation code. |
volt.llvm.dwarf | DWARF enums and code. |
Classes
LLVMDriver | The beckend part of the Driver that handles the backend and running of the commands. |
LlvmBackend | Main interface for the Driver to the llvm backend. |
BitcodeResult | A llvm result that saves to bitcode files. |
ObjectResult | Backend results that procudes a object file. |
VoltState | Collection of objects used by pretty much all of the translation code. It isn't called Module, Context or Builder because it will collide in meaning with language concepts. |
LlvmVisitor | Visits a module and turn it into code. |
Type | Base class for a LLVM backend types. Contains a refernce to the irType for this type, the llvmType and the debugging info for this type. |
VoidType | Void . |
PrimitiveType | Integer but not void. |
PointerType | PointerType represents a standard C pointer. |
ArrayType | Array type. |
StaticArrayType | Static array type. |
CallableType | Base class for callable types FunctionType and DelegateType. |
FunctionType | Function type. |
DelegateType | Delegates are lowered here into a struct with two members. |
StructType | Backend instance of a ir.Struct. |
UnionType | Backend instance of a ir.Union. |
Value | Represents a single LLVMValueRef plus the associated high level type. |
State | Collection of objects used by pretty much all of the translation code. It isn't called Module, Context or Builder because it will collide in meaning with LLVM and language concepts. |