# LLVM binding layer—llvmlite.binding

The `llvmlite.binding` module provides classes to interact with functionalities of the LLVM library. Generally, they closely mirror concepts of the C++ API. Only a small subset of the LLVM API is mirrored: those parts that have proven useful to implement Numba’s JIT compiler.

- Initialization and finalization
- Dynamic libraries and symbols
- Target information
- Context
- Modules
- Value references
- Type references
- Execution engine
- Object file
- Optimization passes
- Analysis utilities
- Pass Timings
- Misc
- Example—compiling a simple function