API Reference wyvern v#1.0.4

Copy Markdown

Modules

Documentation for Wyvern.

The %Function{} represents a function defintion in the LLVM IR.

A Context module is threaded through resolve_names()/to_ir() protocol to hold any state that is modified during the serialisation process.

The modules in this namespace represent the LLVM instruction set.

The CallASM module is a variant of Call that is used for inserting inline assembly language. This is useful for interacting with OS level, for example writing platform-based shims.

A Label is an id and an associated name that can be used to mark things like basic blocks so that they have an id assigned ahead of time (this makes forward references a possibility).

The Module structure represents a single LLVM module as a flat namespace of globals and functions.

A Param represents a parameter to a function that can be named or unnamed.

Represents an LLVM type e.g. :integer, :pointer

Value represents a typed value, e.g. the integer 42.

A Handle is used to refer to the value that is returned by an instruction and allow it to be passed as a value in the parameter of another instruction.