Crate codegen

Crate codegen 

Source
Expand description

Cranelift code generation library.

Modules§

bforest
A forest of B+-trees.
binemit
Binary machine code emission.
cfg_printer
The CFGPrinter utility.
cursor
Cursor library.
data_value
This module gives users to instantiate values that Cranelift understands. These values are used, for example, during interpretation and for wrapping immediates.
dbg
Debug tracing helpers.
dominator_tree
A Dominator Tree represented as mappings of Blocks to their immediate dominator.
entity
Array-based data structures using densely numbered entity references as mapping keys.
flowgraph
A control flow graph represented as mappings of basic blocks to their predecessors and successors.
ir
Representation of Cranelift IR functions.
isa
Instruction Set Architectures.
loop_analysis
A loop analysis represented as mappings of loops to their header Block and parent in the loop tree.
print_errors
Utility routines for pretty-printing error messages.
settings
Shared settings module.
timing
Pass timing.
verifier
A verifier for ensuring that functions are well formed. It verifies:
write
Converting Cranelift IR to text.

Structs§

Context
Persistent data structures and compilation pipeline.
MachCallSite
A call site record resulting from a compilation.
MachReloc
A relocation resulting from a compilation.
MachSrcLoc
A source-location mapping resulting from a compilation.
MachStackMap
Record of stack map metadata: stack offsets containing references.
MachTrap
A trap record resulting from a compilation.
ValueLocRange
Value location range.

Enums§

CodegenError
A compilation error.

Constants§

VERSION
Version number of this crate.

Traits§

TextSectionBuilder
An object that can be used to create the text section of an executable.

Functions§

verify_function
Verify func.
write_function
Write func to w as equivalent text. Use isa to emit ISA-dependent annotations.

Type Aliases§

CodegenResult
A convenient alias for a Result that uses CodegenError as the error type.
ValueLabelsRanges
Resulting map of Value labels and their ranges/locations.