Skip to main content

tensorlogic_compiler/passes/
mod.rs

1//! Compiler passes (validation, optimization, etc.).
2
3pub mod advanced_analysis;
4pub mod contraction_opt;
5pub mod cse;
6pub mod dataflow;
7pub mod diagnostics;
8pub mod einsum_opt;
9pub mod graph_opt_integration;
10pub mod loop_fusion;
11pub mod metadata_propagation;
12pub mod post_compilation;
13pub mod reachability;
14pub mod scope_analysis;
15pub mod strategy_selection;
16pub mod symbol_integration;
17pub mod type_checking;
18pub mod validation;
19
20pub use advanced_analysis::{
21    analyze_graph, print_report, quick_analyze, AnalysisReport, OptimizationRecommendation,
22    ParallelOpportunity, RecommendationCategory,
23};
24pub use contraction_opt::{
25    analyze_contraction_path, optimize_contractions, optimize_contractions_with_config,
26    ContractionOptConfig, ContractionOptStats, ContractionPath, TensorShape,
27};
28pub use cse::{eliminate_common_subexpressions, CseResult};
29pub use dataflow::{
30    analyze_dataflow, analyze_dataflow_with_config, analyze_graph_dataflow, DataflowAnalysis,
31    DataflowConfig, GraphDataflow,
32};
33pub use diagnostics::{
34    diagnose_expression, enhance_error, Diagnostic, DiagnosticBuilder, DiagnosticLevel,
35};
36pub use einsum_opt::{optimize_einsum_graph, EinsumOptResult};
37pub use graph_opt_integration::{
38    apply_graph_optimizations, apply_pattern_optimizations, quick_optimize,
39    recommend_optimizations, GraphOptConfig, GraphOptStats,
40};
41pub use loop_fusion::{
42    estimate_fusion_benefit, fuse_loops, fuse_loops_with_config, LoopFusionConfig, LoopFusionStats,
43};
44pub use metadata_propagation::{
45    attach_expr_metadata, propagate_metadata, MetadataBuilder, MetadataCompilationResult,
46};
47pub use post_compilation::{
48    post_compilation_passes, quick_validate, PostCompilationOptions, PostCompilationResult,
49};
50pub use reachability::{
51    analyze_dominance, analyze_reachability, DominanceAnalysis, ReachabilityAnalysis,
52};
53pub use scope_analysis::{
54    analyze_scopes, suggest_quantifiers, validate_scopes, ScopeAnalysisResult,
55};
56pub use strategy_selection::{
57    recommend_strategy, ExpressionProfile, OptimizationGoal, StrategyRecommendation,
58};
59pub use symbol_integration::{
60    build_signature_registry, export_domains, import_domains, sync_context_with_symbol_table,
61};
62pub use type_checking::{infer_types, TypeChecker};
63pub use validation::{
64    validate_arity, validate_expression, validate_expression_with_types, ValidationResult,
65};