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. |