cranelift-codegen 0.16.0

Low-level code generator library
Documentation
"""
The `cranelift.entities` module predefines all the Cranelift entity reference
operand types. There are corresponding definitions in the `cranelift.entities`
Rust module.
"""
from __future__ import absolute_import
from cdsl.operands import EntityRefKind


#: A reference to an extended basic block in the same function.
#: This is primarliy used in control flow instructions.
ebb = EntityRefKind(
        'ebb', 'An extended basic block in the same function.',
        default_member='destination')

#: A reference to a stack slot declared in the function preamble.
stack_slot = EntityRefKind('stack_slot', 'A stack slot.')

#: A reference to a global value.
global_value = EntityRefKind('global_value', 'A global value.')

#: A reference to a function sugnature declared in the function preamble.
#: This is used to provide the call signature in a call_indirect instruction.
sig_ref = EntityRefKind('sig_ref', 'A function signature.')

#: A reference to an external function declared in the function preamble.
#: This is used to provide the callee and signature in a call instruction.
func_ref = EntityRefKind('func_ref', 'An external function.')

#: A reference to a jump table declared in the function preamble.
jump_table = EntityRefKind(
        'jump_table', 'A jump table.', default_member='table')

#: A reference to a heap declared in the function preamble.
heap = EntityRefKind('heap', 'A heap.')