lib/choir/src/root.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 //! Multi-level intermediate representation framework with extensible
 2 //! dialects and interned contexts.
 3 //!
 4 //! Dialects declare domain-specific operations, types, and attributes on top of
 5 //! a common structural substrate (`Context`, `Operation`, `Block`, `Region`).
 6 //! The shared context interns identifiers, types, and attributes, centralizing
 7 //! memory ownership across dialect boundaries.
 8 //!
 9 //! `PassManager` coordinates transformation pipelines across IR regions. Callers
10 //! can opt into runtime structural verification with `enableVerifier`, checking
11 //! dominance, typing, and predecessor-successor symmetry between passes.
12 
13 pub const ir = @import("core/root.zig");
14 
15 pub const passes = @import("passes/root.zig");
16 
17 pub const egraph = @import("egraph/root.zig");
18 
19 pub const eval = @import("eval/root.zig");
20 
21 pub const bytecode = @import("bytecode/root.zig");
22 pub const serialization = @import("serialization/root.zig");
23 
24 pub const extensions = @import("extensions.zig");
25 
26 pub const compiler = @import("compiler/root.zig");
27 
28 pub const dialects = @import("dialects/root.zig");
29 
30 pub const backends = @import("backends/root.zig");
31 pub const versus = @import("profiling/versus/core/root.zig");
32 
33 pub const product = @import("product/root.zig");
34 pub const composition = @import("composition/root.zig");
35 
36 pub const Context = ir.Context;
37 pub const Operation = ir.Operation;
38 pub const OperationEquivalence = ir.OperationEquivalence;
39 pub const OperationPropertiesModel = ir.OperationPropertiesModel;
40 pub const singleAttributePropertiesModel = ir.singleAttributePropertiesModel;
41 pub const OperationBuilder = ir.OperationBuilder;
42 pub const threading = ir.threading;
43 pub const ThreadingOptions = ir.ThreadingOptions;
44 pub const Block = ir.Block;
45 pub const Region = ir.Region;
46 pub const Value = ir.Value;
47 pub const Type = ir.Type;
48 pub const Attribute = ir.Attribute;
49 pub const Location = ir.Location;
50 pub const Dialect = ir.Dialect;
51 pub const NamedAttribute = ir.NamedAttribute;
52 pub const NamedAttributeList = ir.NamedAttributeList;
53 pub const SymbolTable = ir.SymbolTable;
54 pub const inspection = ir.inspection;
55 
56 pub const Pass = passes.Pass;
57 pub const PassManager = passes.PassManager;
58 pub const choir_optimization_package_extension = extensions.choir_optimization_package_extension;
59 pub const initCompilerContext = compiler.initContext;
60 pub const CompilerContextOptions = compiler.ContextOptions;
61 pub const CompilerSession = compiler.Session;
62 
63 pub const StableHasher = product.StableHasher;
64 pub const StableValueNumbering = product.StableValueNumbering;
65 pub const OperationFingerprintError = product.OperationFingerprintError;
66 pub const operationFingerprint = product.operationFingerprint;
67 pub const OperationProduct = product.OperationProduct;
68 
69 pub const diagnostics = @import("diagnostics/root.zig");