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
//! Registered reference optimizer passes.
//!
//! Layout (audit cleanup A3, 2026-04-30): passes are grouped into category
//! subdirs aligned with the Phase 4 catalog buckets so the directory scales
//! to ~250 named transforms without becoming an unreviewable flat dir:
//!
//! - `algebraic/` (Phase 4A) — const_fold, strength_reduce, spec_driven,
//! canonicalize, normalize_atomics
//! - `loops/` (Phase 4B) — loop_unroll, loop_trip_zero_eliminate
//! - `memory/` (Phase 4C) — const_buffer_fold, dead_buffer_elim,
//! read_only_load_hoist, vectorization, decode_scan_fuse
//! - `sync/` (Phase 4D) — barrier_coalesce
//! - `fusion_cse/` — fusion, fuse_cse, cse, dce
//! - `cleanup/` — empty_block_collapse, region_inline,
//! if_constant_branch_eliminate, noop_assign_eliminate,
//! region_promote_singleton_block, buffer_decl_sort
//! - `specialization/` (Phase 4G) — autotune
//!
//! Backend-specific lowering strategy code belongs in the concrete driver
//! crates. Foundation passes are math- and IR-structural rewrites that any
//! backend can inherit before target emission.
//!
//! Back-compat re-exports below preserve the historical `passes::<pass>`
//! path while registration itself is driven by the pass inventory.
// ---- Back-compat re-exports (historical `passes::<pass_name>` path) -----
//
// Public re-exports keep downstream pass tests and tools on the stable
// `passes::<pass_name>` path while the scheduler discovers runnable passes
// from the inventory registry.
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use autotune;
pub use barrier_coalesce;