lib/choir/src/passes/root.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

  1 pub const pass = @import("pass/root.zig");
  2 pub const Pass = pass.Pass;
  3 pub const PassMutationScope = pass.PassMutationScope;
  4 pub const PassStateConcurrency = pass.PassStateConcurrency;
  5 pub const PassRerunPolicy = pass.PassRerunPolicy;
  6 pub const DependentDialects = pass.DependentDialects;
  7 pub const dialectDependencies = pass.dialectDependencies;
  8 pub const PassContext = pass.PassContext;
  9 pub const PassResult = pass.PassResult;
 10 pub const PassFailureKind = pass.PassFailureKind;
 11 pub const PassFailureReproducer = pass.PassFailureReproducer;
 12 pub const PassManagerRunOptions = pass.PassManagerRunOptions;
 13 pub const PassManagerFixedPointResult = pass.PassManagerFixedPointResult;
 14 pub const PassManager = pass.PassManager;
 15 pub const OpPassManager = pass.OpPassManager;
 16 pub const OpPassManagerTargetKind = pass.OpPassManagerTargetKind;
 17 pub const PipelineEntry = pass.PipelineEntry;
 18 pub const OperationPass = pass.OperationPass;
 19 pub const AnalysisId = pass.AnalysisId;
 20 pub const analysisId = pass.analysisId;
 21 pub const Analysis = pass.Analysis;
 22 pub const AnalysisDescriptor = pass.AnalysisDescriptor;
 23 pub const PreservedAnalyses = pass.PreservedAnalyses;
 24 pub const AnalysisCache = pass.AnalysisCache;
 25 pub const PassManagerStats = pass.PassManagerStats;
 26 
 27 pub const reproducer = @import("reproducer.zig");
 28 pub const ReplayOptions = reproducer.ReplayOptions;
 29 pub const ReplayResult = reproducer.ReplayResult;
 30 pub const formatPassFailureReproducerAlloc = reproducer.formatPassFailureReproducerAlloc;
 31 pub const writePassFailureReproducer = reproducer.writePassFailureReproducer;
 32 pub const writePassFailureReproducerFile = reproducer.writePassFailureReproducerFile;
 33 pub const parsePassFailureReproducerAlloc = reproducer.parsePassFailureReproducerAlloc;
 34 pub const replayPassFailureReproducer = reproducer.replayPassFailureReproducer;
 35 
 36 pub const pipeline = @import("pipeline.zig");
 37 pub const PassRegistration = pipeline.PassRegistration;
 38 pub const PassRegistry = pipeline.PassRegistry;
 39 pub const PassOptionSpec = pipeline.PassOptionSpec;
 40 pub const PassOptionChoice = pipeline.PassOptionChoice;
 41 pub const PassOptionAssignment = pipeline.PassOptionAssignment;
 42 pub const PassOptionSet = pipeline.PassOptionSet;
 43 pub const PassOptionsBuilderFn = pipeline.PassOptionsBuilderFn;
 44 pub const PipelineOptionsBuilderFn = pipeline.PipelineOptionsBuilderFn;
 45 pub const PipelineBuilderFn = pipeline.PipelineBuilderFn;
 46 pub const PipelineRegistration = pipeline.PipelineRegistration;
 47 pub const PipelineRegistry = pipeline.PipelineRegistry;
 48 pub const PipelineError = pipeline.PipelineError;
 49 pub const RegistryError = pipeline.RegistryError;
 50 pub const plan = @import("plan.zig");
 51 pub const PassPlan = plan.Plan;
 52 pub const PassPlanStep = plan.Step;
 53 pub const PassPlanTarget = plan.Target;
 54 pub const PassPlanInvocation = plan.Invocation;
 55 pub const PassPlanNested = plan.Nested;
 56 pub const formatPassPlanOptionsAlloc = plan.formatOptionsAlloc;
 57 pub const writePassPlanOptions = plan.writeOptions;
 58 pub const textual_pipeline = @import("textual.zig");
 59 pub const TextualPipelineError = textual_pipeline.TextualPipelineError;
 60 pub const parsePassPipeline = textual_pipeline.parsePassPipeline;
 61 pub const parseOpPassPipeline = textual_pipeline.parseOpPassPipeline;
 62 pub const writePassManagerPipeline = textual_pipeline.writePassManagerPipeline;
 63 pub const writeOpPassManagerPipeline = textual_pipeline.writeOpPassManagerPipeline;
 64 pub const formatPassManagerPipelineAlloc = textual_pipeline.formatPassManagerPipelineAlloc;
 65 pub const formatOpPassManagerPipelineAlloc = textual_pipeline.formatOpPassManagerPipelineAlloc;
 66 
 67 pub const instrumentation = @import("instrumentation.zig");
 68 pub const PassInstrumentation = instrumentation.PassInstrumentation;
 69 pub const PassInstrumentor = instrumentation.PassInstrumentor;
 70 pub const PassInfo = instrumentation.PassInfo;
 71 pub const PipelineInfo = instrumentation.PipelineInfo;
 72 pub const AnalysisInfo = instrumentation.AnalysisInfo;
 73 pub const PassStatisticInfo = instrumentation.PassStatisticInfo;
 74 pub const TimingInstrumentation = instrumentation.TimingInstrumentation;
 75 pub const IRPrintingInstrumentation = instrumentation.IRPrintingInstrumentation;
 76 pub const VerifierInstrumentation = instrumentation.VerifierInstrumentation;
 77 pub const CountingInstrumentation = instrumentation.CountingInstrumentation;
 78 pub const PassStatisticsInstrumentation = instrumentation.PassStatisticsInstrumentation;
 79 pub const PassStatisticSummary = instrumentation.PassStatisticSummary;
 80 pub const PassTimingOptions = instrumentation.PassTimingOptions;
 81 pub const PassAllocationSnapshot = instrumentation.PassAllocationSnapshot;
 82 pub const PassAllocationSnapshotProvider = instrumentation.PassAllocationSnapshotProvider;
 83 pub const PipelineTimingSummary = instrumentation.PipelineTimingSummary;
 84 pub const PassRunTimingSummary = instrumentation.PassRunTimingSummary;
 85 pub const PassTimingSummary = instrumentation.PassTimingSummary;
 86 pub const IRPrintingOptions = instrumentation.IRPrintingOptions;
 87 pub const VerifierInstrumentationFailure = instrumentation.VerifierInstrumentationFailure;
 88 pub const VerifierInstrumentationOptions = instrumentation.VerifierInstrumentationOptions;
 89 
 90 pub const control_flow = @import("control.zig");
 91 pub const RegionControlFlow = control_flow.RegionControlFlow;
 92 pub const ControlFlowGraphAnalysis = control_flow.ControlFlowGraphAnalysis;
 93 pub const DominanceAnalysis = control_flow.DominanceAnalysis;
 94 pub const PostDominanceAnalysis = control_flow.PostDominanceAnalysis;
 95 pub const cfg_analysis_descriptor = control_flow.cfg_analysis_descriptor;
 96 pub const dominance_analysis_descriptor = control_flow.dominance_analysis_descriptor;
 97 pub const post_dominance_analysis_descriptor = control_flow.post_dominance_analysis_descriptor;
 98 pub const getControlFlowGraphAnalysis = control_flow.getControlFlowGraphAnalysis;
 99 pub const getDominanceAnalysis = control_flow.getDominanceAnalysis;
100 pub const getPostDominanceAnalysis = control_flow.getPostDominanceAnalysis;
101 
102 pub const canonicalization = @import("canonicalization.zig");
103 pub const CanonicalizationPassSpec = canonicalization.CanonicalizationPassSpec;
104 pub const CanonicalizationPass = canonicalization.CanonicalizationPass;
105 pub const createCanonicalizationPass = canonicalization.createCanonicalizationPass;
106 pub const builtin_canonicalization_patterns = canonicalization.builtin_canonicalization_patterns;
107 pub const populateBuiltinCanonicalizationPatterns =
108     canonicalization.populateBuiltinCanonicalizationPatterns;
109 pub const registeredFoldPatternSpec = canonicalization.registeredFoldPatternSpec;
110 pub const populateRegisteredFoldPatterns = canonicalization.populateRegisteredFoldPatterns;
111 pub const populateRegisteredCanonicalizationPatterns =
112     canonicalization.populateRegisteredCanonicalizationPatterns;
113 pub const canonicalization_pass_name = canonicalization.canonicalization_pass_name;
114 pub const canonicalization_pass_description = canonicalization.canonicalization_pass_description;
115 pub const canonicalization_pass_registration = canonicalization.canonicalization_pass_registration;
116 pub const isTriviallyDead = canonicalization.isTriviallyDead;
117 pub const eliminateDeadOps = canonicalization.eliminateDeadOps;
118 
119 pub const cse = @import("cse/root.zig");
120 pub const effects = @import("effects.zig");
121 pub const optimizations = @import("optimizations.zig");
122 pub const dead_code_elimination_pass_name = optimizations.dead_code_elimination_pass_name;
123 pub const dead_code_elimination_pass_description =
124     optimizations.dead_code_elimination_pass_description;
125 pub const common_subexpression_elimination_pass_name =
126     optimizations.common_subexpression_elimination_pass_name;
127 pub const common_subexpression_elimination_pass_description =
128     optimizations.common_subexpression_elimination_pass_description;
129 pub const constant_folding_pass_name = optimizations.constant_folding_pass_name;
130 pub const constant_folding_pass_description = optimizations.constant_folding_pass_description;
131 pub const sparse_conditional_constant_propagation_pass_name =
132     optimizations.sparse_conditional_constant_propagation_pass_name;
133 pub const sparse_conditional_constant_propagation_pass_description =
134     optimizations.sparse_conditional_constant_propagation_pass_description;
135 pub const load_store_forwarding_pass_name = optimizations.load_store_forwarding_pass_name;
136 pub const load_store_forwarding_pass_description =
137     optimizations.load_store_forwarding_pass_description;
138 pub const dead_store_elimination_pass_name = optimizations.dead_store_elimination_pass_name;
139 pub const dead_store_elimination_pass_description =
140     optimizations.dead_store_elimination_pass_description;
141 pub const loop_invariant_code_motion_pass_name = optimizations.loop_invariant_code_motion_pass_name;
142 pub const loop_invariant_code_motion_pass_description =
143     optimizations.loop_invariant_code_motion_pass_description;
144 pub const equality_saturation_pass_name = optimizations.equality_saturation_pass_name;
145 pub const equality_saturation_pass_description = optimizations.equality_saturation_pass_description;
146 pub const default_optimization_pipeline_name = optimizations.default_optimization_pipeline_name;
147 pub const default_optimization_pipeline_description =
148     optimizations.default_optimization_pipeline_description;
149 pub const createDeadCodeEliminationPass = optimizations.createDeadCodeEliminationPass;
150 pub const createCommonSubexpressionEliminationPass =
151     optimizations.createCommonSubexpressionEliminationPass;
152 pub const createConstantFoldingPass = optimizations.createConstantFoldingPass;
153 pub const createSparseConditionalConstantPropagationPass =
154     optimizations.createSparseConditionalConstantPropagationPass;
155 pub const createLoadStoreForwardingPass = optimizations.createLoadStoreForwardingPass;
156 pub const createDeadStoreEliminationPass = optimizations.createDeadStoreEliminationPass;
157 pub const createLoopInvariantCodeMotionPass = optimizations.createLoopInvariantCodeMotionPass;
158 pub const createEqualitySaturationPass = optimizations.createEqualitySaturationPass;
159 pub const dead_code_elimination_pass_registration =
160     optimizations.dead_code_elimination_pass_registration;
161 pub const common_subexpression_elimination_pass_registration =
162     optimizations.common_subexpression_elimination_pass_registration;
163 pub const constant_folding_pass_registration = optimizations.constant_folding_pass_registration;
164 pub const sparse_conditional_constant_propagation_pass_registration =
165     optimizations.sparse_conditional_constant_propagation_pass_registration;
166 pub const load_store_forwarding_pass_registration =
167     optimizations.load_store_forwarding_pass_registration;
168 pub const dead_store_elimination_pass_registration =
169     optimizations.dead_store_elimination_pass_registration;
170 pub const loop_invariant_code_motion_pass_registration =
171     optimizations.loop_invariant_code_motion_pass_registration;
172 pub const equality_saturation_pass_registration =
173     optimizations.equality_saturation_pass_registration;
174 pub const optimization_pass_registrations = optimizations.optimization_pass_registrations;
175 pub const default_optimization_pipeline_registration =
176     optimizations.default_optimization_pipeline_registration;
177 pub const optimization_pipeline_registrations = optimizations.optimization_pipeline_registrations;
178 pub const addDefaultOptimizationPipeline = optimizations.addDefaultOptimizationPipeline;
179 pub const buildDefaultOptimizationPipeline = optimizations.buildDefaultOptimizationPipeline;
180 pub const registerOptimizationPassEntries = optimizations.registerOptimizationPassEntries;
181 pub const memref_views = @import("views.zig");
182 pub const promotion = @import("promotion.zig");
183 
184 pub const saturation = @import("saturation.zig");
185 pub const EGraphOptimizationOptions = saturation.OptimizationOptions;
186 pub const EGraphOptimizationStats = saturation.OptimizationStats;
187 pub const EGraphPassConfig = saturation.PassConfig;
188 pub const EGraphPass = saturation.EGraphPass;
189 pub const runEGraphOptimization = saturation.runOptimization;
190 
191 pub const conversion = @import("conversion.zig");
192 pub const ConversionTarget = conversion.ConversionTarget;
193 pub const Legality = conversion.Legality;
194 pub const ConversionOptions = conversion.ConversionOptions;
195 pub const applyPartialConversion = conversion.applyPartialConversion;
196 pub const applyFullConversion = conversion.applyFullConversion;
197 pub const applyPartialConversionWithOptions = conversion.applyPartialConversionWithOptions;
198 pub const applyFullConversionWithOptions = conversion.applyFullConversionWithOptions;
199 pub const GreedyRewriteStrictness = conversion.GreedyRewriteStrictness;
200 pub const GreedyRewriteConfig = conversion.GreedyRewriteConfig;
201 pub const GreedyRewriteResult = conversion.GreedyRewriteResult;
202 pub const applyPatternsGreedily = conversion.applyPatternsGreedily;
203 
204 pub const BlockDominanceAnalysis = @import("control.zig").BlockDominanceAnalysis;
205 pub const RegionDominance = @import("control.zig").RegionDominance;
206 pub const ConversionInitialSnapshot = @import("conversion.zig").OperationSnapshot;