Backend

Pages

LLVM Backend LLVM based backend.

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.

Interfaces

Backend Interface implemented by backends. Often the last stage of the compile pipe that is implemented in this compiler, optimization and linking are often done outside of the compiler, either invoked directly by us or a build system.
BackendFileResult A result from a backend compilation that can be saved onto disk.
BackendHostResult A JIT compiled a module that you can fetch functions from.

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.

Enums

TargetType Used to determine the output of the backend.