llvm_ir/lib.rs
1//! Core IR types: types, values, instructions, basic blocks, functions, and modules.
2
3pub mod basic_block;
4/// Public API for `builder`.
5pub mod builder;
6/// Public API for `context`.
7pub mod context;
8/// Public API for `function`.
9pub mod function;
10/// Public API for `instruction`.
11pub mod instruction;
12/// Public API for `module`.
13pub mod module;
14/// Public API for `printer`.
15pub mod printer;
16/// Public API for `types`.
17pub mod types;
18/// Public API for `value`.
19pub mod value;
20
21// Re-export key types at crate root for ergonomic use.
22/// Public API for `re-export`.
23pub use basic_block::BasicBlock;
24/// Public API for `re-export`.
25pub use builder::Builder;
26/// Public API for `re-export`.
27pub use context::{
28 ArgId, BlockId, ConstId, Context, FunctionId, GlobalId, InstrId, TypeId, ValueRef,
29};
30/// Public API for `re-export`.
31pub use function::Function;
32/// Public API for `re-export`.
33pub use instruction::{
34 ExactFlag, FastMathFlags, FloatPredicate, InstrKind, Instruction, IntArithFlags, IntPredicate,
35 TailCallKind,
36};
37/// Public API for `re-export`.
38pub use module::{DebugLocation, Module};
39/// Public API for `re-export`.
40pub use printer::Printer;
41/// Public API for `re-export`.
42pub use types::{FloatKind, FunctionType, StructType, TypeData};
43/// Public API for `re-export`.
44pub use value::{Argument, ConstantData, GlobalVariable, Linkage};