Expand description

Inkwell documentation is a work in progress.

If you have any LLVM knowledge that could be used to improve these docs, we would greatly appreciate you opening an issue and/or a pull request on our GitHub page.

Due to a rustdoc issue, this documentation represents only the latest supported LLVM version. We hope that this issue will be resolved in the future so that multiple versions can be documented side by side.

Library Wide Notes

  • Most functions which take a string slice as input may possibly panic in the unlikely event that a c style string cannot be created based on it. (IE if your slice already has a null byte in it)


Attributes are optional modifiers to functions, function parameters, and return types.

A BasicBlock is a container of instructions.

A Builder enables you to build instructions.

A Comdat helps resolve linker errors for duplicate sections.

A Context is an opaque owner and manager of core global data.

Debug symbols - DebugInfoBuilder interface

A Module represets a single code compilation unit.

A type is a classification which determines how data is used.

A value is an instance of a type.


Defines the address space in which a global will be inserted.

Defines how to compare a left and right FloatValue.

This enum defines how to compare a left and right IntValue.

Defines the optimization level used to compile a Module.