1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//! Dialect-parameterized intermediate representation framework.
//!
//! The core type [`IR<D>`] holds a set of typed operations and values for a given
//! [`Dialect`]. Each operation carries a [`Signature`] that describes its argument
//! and return types, and each value tracks its producing operation ([`ValOrigin`])
//! and its consumers ([`ValUse`]). Operations and values are identified by [`OpId`]
//! and [`ValId`] respectively, and follow an active/inactive lifecycle.
//!
//! Immutable views into the IR are provided by [`OpRef`] and [`ValRef`], which
//! expose dependency traversal, reachability queries, and formatting. Mutable
//! operations on the IR — adding operations, replacing value uses, and deleting
//! operations — are methods on [`IR`] itself.
//!
//! The annotation layer ([`AnnIR`], [`AnnOpRef`], [`AnnValRef`]) extends the base
//! IR with per-operation and per-value metadata through parallel [`OpMap`] and
//! [`ValMap`] containers, enabling dataflow analyses that produce typed annotations
//! without modifying the underlying IR.
//!
//! Built-in passes include dead code elimination ([`dce`]), common subexpression
//! elimination ([`cse`]), and an interpretation framework ([`interpretation`]).
//! The [`scheduling`] module provides forward list scheduling, [`translation`]
//! defines cross-dialect translation, and [`traversal`] offers walker verification
//! utilities.
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub