Skip to main content

default_passes

Function default_passes 

Source
pub fn default_passes() -> Vec<Box<dyn OptimizationPass>>
Expand description

The device-independent Phase-1 pass pipeline, in run order.

ConstantFolding  →  DeadNodeElimination

Constant folding runs first so it can materialize shape-computation constants, then dead-node elimination prunes any node left unreachable, and then dead-node elimination prunes any node left unreachable. Operator fusion is provider-scoped because its replacements change the operator set.

Deferred passes (each in its eventual pipeline slot; see the crate-level docs for why): after ConstantFolding would come ShapeInference; after provider-scoped fusion would come AttentionFusionPass, then LayoutPropagation, PlacementOptimizer, TransferInsertion, InPlaceDetection, MemoryPlanning, CudaGraphRegionDetection, and OverlapScheduling.