# IR layer—llvmlite.ir

The `llvmlite.ir` module contains classes and utilities to build the LLVM intermediate representation (IR) of native functions.

The provided APIs may sometimes look like LLVM’s C++ APIs, but they never call into LLVM, unless otherwise noted. Instead, they construct a pure Python representation of the IR.

To use this module, you should be familiar with the concepts in the LLVM Language Reference.

- Types
- Values
- Modules
- IR builders
- Example—defining a simple function