Anaconda Enterprise: Documentation

# 3. llvmlite.ir – The IR layer

The `llvmlite.ir` module contains classes and utilities to build the LLVM Intermediate Representation of native functions. The provided APIs may sometimes look like LLVM’s C++ APIs, but they never call into LLVM (unless otherwise noted): they construct a pure Python representation of the IR.

See also

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

- 3.1. Types
  - 3.1.1. Atomic types
  - 3.1.2. Aggregate types
  - 3.1.3. Other types
- 3.2. Values
  - 3.2.1. Metadata
  - 3.2.2. Global values
  - 3.2.3. Instructions
  - 3.2.4. Landing pad clauses
- 3.3. Modules
- 3.4. IR builders
  - 3.4.1. Instantiation
  - 3.4.2. Properties
  - 3.4.3. Utilities
  - 3.4.4. Positioning
  - 3.4.5. Flow control helpers
  - 3.4.6. Instruction building
    - 3.4.6.1. Arithmetic
    - 3.4.6.2. Conversions
    - 3.4.6.3. Comparisons
    - 3.4.6.4. Conditional move
    - 3.4.6.5. Phi
    - 3.4.6.6. Aggregate operations
    - 3.4.6.7. Memory
    - 3.4.6.8. Function call
    - 3.4.6.9. Branches
    - 3.4.6.10. Exception handling
    - 3.4.6.11. Inline assembler
    - 3.4.6.12. Miscellaneous
- 3.5. Example
  - 3.5.1. A trivial function