docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::passes::Pass Class Referenceabstract

#include <sdfg/passes/pass.h>

Inherited by sdfg::passes::GPUControlFlowOffloadPass< CUDAControlFlowOffloadTraits >, sdfg::passes::GPUControlFlowOffloadPass< ROCMControlFlowOffloadTraits >, sdfg::passes::VisitorPass< ApproximateMath >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::BatchNormNode, math::tensor::ReLUNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode, math::tensor::ConvNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode, math::tensor::ConvNode, math::tensor::BatchNormNode > >, sdfg::passes::VisitorPass< MemletLinearization >, sdfg::passes::VisitorPass< MemletSimplification >, sdfg::passes::VisitorPass< TaskletFusion >, sdfg::passes::VisitorPass< TensorToPointerConversion >, sdfg::passes::VisitorPass< TrivialReferenceConversion >, sdfg::passes::VisitorPass< AllocationManagement >, sdfg::passes::VisitorPass< BlockFusion >, sdfg::passes::VisitorPass< ConditionElimination >, sdfg::passes::VisitorPass< IteratorToIndvar >, sdfg::passes::VisitorPass< EinsumConversion >, sdfg::passes::VisitorPass< EinsumLower >, sdfg::passes::VisitorPass< EinsumExpansion >, sdfg::passes::VisitorPass< FPContraction >, sdfg::passes::VisitorPass< ExtendedBlockHoisting >, sdfg::passes::VisitorPass< DotExpansion >, sdfg::passes::VisitorPass< BlockHoisting >, sdfg::passes::VisitorPass< CudaExpansion >, sdfg::passes::VisitorPass< CudaLibraryNodeRewriter >, sdfg::passes::VisitorPass< CudaLibraryNodeTransferExtractionVisitor >, sdfg::passes::VisitorPass< RocmExpansion >, sdfg::passes::VisitorPass< RocmLibraryNodeRewriter >, sdfg::passes::VisitorPass< RocmLibraryNodeTransferExtractionVisitor >, sdfg::einsum::EinsumDetectionPass, sdfg::fp_math::ContractionPrecisionPass, sdfg::parallelization::AutoParallelization, sdfg::passes::BlockSortingPass, sdfg::passes::ByteReferenceElimination, sdfg::passes::CollapsePass, sdfg::passes::CommonAssignmentElimination, sdfg::passes::ConstantPropagation, sdfg::passes::DataTransferMinimizationPass, sdfg::passes::DeadCFGElimination, sdfg::passes::DeadDataElimination, sdfg::passes::DeadReferenceElimination, sdfg::passes::DebugDumpPass, sdfg::passes::DebugInfoPropagation, sdfg::passes::DeviceBufferReusePass, sdfg::passes::DeviceResidentArgPromotionPass, sdfg::passes::GPUControlFlowOffloadPass< Traits >, sdfg::passes::GPULoopReorderingPass, sdfg::passes::GPUNestedOffloadPass, sdfg::passes::GPUNestedParallelizationPass, sdfg::passes::LibraryNodeExpansionPass< Holder >, sdfg::passes::NoLibnodesBlockFusionPass, sdfg::passes::Pipeline, sdfg::passes::ReadonlyTransferHoistingPass, sdfg::passes::ReductionSharedMemoryDelinearization, sdfg::passes::RedundantLoadEliminationPass, sdfg::passes::RedundantZeroInitEliminationPass, sdfg::passes::ReferencePropagation, sdfg::passes::RemoveRedundantTransfersPass, sdfg::passes::ScalarPromotionPass, sdfg::passes::SequenceFusion, sdfg::passes::SymbolEvolution, sdfg::passes::SymbolPromotion, sdfg::passes::SymbolPropagation, sdfg::passes::SyncConditionPropagation, sdfg::passes::TargetMappingPass, sdfg::passes::TensorAllocationSizeInference, sdfg::passes::TilingPass, sdfg::passes::TrivialArrayElimination, sdfg::passes::TrivialLoopEliminationPass, sdfg::passes::UnifyLoopExits, sdfg::passes::UniqueLoopIndvars, sdfg::passes::VisitorPass< T >, sdfg::passes::WhileToForConversion, sdfg::passes::loop_fusion::LoopFusionPass, sdfg::passes::normalization::LoopNormalFormPass, sdfg::passes::normalization::MapDelinearizationPass, sdfg::passes::normalization::MapFusionPass, sdfg::passes::normalization::PerfectLoopDistributionPass, sdfg::passes::normalization::StrideMinimization, sdfg::passes::scheduler::LoopSchedulingPass, sdfg::passes::scheduler::RpcOptimizationPass, and sdfg::tiles::TileGuardNormalization.

Public Member Functions

 Pass ()=default
 Pass (const Options &options)
virtual ~Pass ()=default
virtual std::string name ()=0
virtual std::vector< OptionSpec > options ()
bool run (builder::SDFGBuilder &builder, bool create_report=false)
bool run (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, bool create_report=false)
virtual bool run_pass (builder::SDFGBuilder &builder)
virtual bool run_pass (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
virtual void invalidates (analysis::AnalysisManager &analysis_manager, bool applied)

Protected Member Functions

template<class T>
T option (const OptionKey< T > &key, T fallback=T{}) const

Friends

template<typename T>
class VisitorPass

Constructor & Destructor Documentation

◆ Pass() [1/2]

sdfg::passes::Pass::Pass ( )
default

◆ Pass() [2/2]

sdfg::passes::Pass::Pass ( const Options & options)
inlineexplicit

◆ ~Pass()

virtual sdfg::passes::Pass::~Pass ( )
virtualdefault

Member Function Documentation

◆ invalidates()

virtual void sdfg::passes::Pass::invalidates ( analysis::AnalysisManager & analysis_manager,
bool applied )
virtual

◆ name()

virtual std::string sdfg::passes::Pass::name ( )
pure virtual

Implemented in sdfg::einsum::EinsumDetectionPass, sdfg::fp_math::ContractionPrecisionPass, sdfg::parallelization::AutoParallelization, sdfg::passes::BlockSortingPass, sdfg::passes::ByteReferenceElimination, sdfg::passes::CollapsePass, sdfg::passes::CommonAssignmentElimination, sdfg::passes::ConstantPropagation, sdfg::passes::DataTransferMinimizationPass, sdfg::passes::DeadCFGElimination, sdfg::passes::DeadDataElimination, sdfg::passes::DeadReferenceElimination, sdfg::passes::DebugDumpPass, sdfg::passes::DebugInfoPropagation, sdfg::passes::DeviceBufferReusePass, sdfg::passes::DeviceResidentArgPromotionPass, sdfg::passes::ExtendedBlockSortingPass, sdfg::passes::GPUControlFlowOffloadPass< Traits >, sdfg::passes::GPUControlFlowOffloadPass< CUDAControlFlowOffloadTraits >, sdfg::passes::GPUControlFlowOffloadPass< ROCMControlFlowOffloadTraits >, sdfg::passes::GPULoopReorderingPass, sdfg::passes::GPUNestedOffloadPass, sdfg::passes::GPUNestedParallelizationPass, sdfg::passes::LibraryNodeExpansionPass< Holder >, sdfg::passes::loop_fusion::LoopFusionPass, sdfg::passes::NoLibnodesBlockFusionPass, sdfg::passes::normalization::LoopNormalFormPass, sdfg::passes::normalization::MapDelinearizationPass, sdfg::passes::normalization::MapFusionPass, sdfg::passes::normalization::PerfectLoopDistributionPass, sdfg::passes::normalization::StrideMinimization, sdfg::passes::Pipeline, sdfg::passes::ReadonlyTransferHoistingPass, sdfg::passes::ReductionSharedMemoryDelinearization, sdfg::passes::RedundantLoadEliminationPass, sdfg::passes::RedundantZeroInitEliminationPass, sdfg::passes::ReferencePropagation, sdfg::passes::RemoveRedundantTransfersPass, sdfg::passes::ScalarPromotionPass, sdfg::passes::scheduler::LoopSchedulingPass, sdfg::passes::scheduler::RpcOptimizationPass, sdfg::passes::SequenceFusion, sdfg::passes::SymbolEvolution, sdfg::passes::SymbolPromotion, sdfg::passes::SymbolPropagation, sdfg::passes::SyncConditionPropagation, sdfg::passes::TargetMappingPass, sdfg::passes::TensorAllocationSizeInference, sdfg::passes::TilingPass, sdfg::passes::TrivialArrayElimination, sdfg::passes::TrivialLoopEliminationPass, sdfg::passes::UnifyLoopExits, sdfg::passes::UniqueLoopIndvars, sdfg::passes::VisitorPass< T >, sdfg::passes::VisitorPass< AllocationManagement >, sdfg::passes::VisitorPass< ApproximateMath >, sdfg::passes::VisitorPass< BlockFusion >, sdfg::passes::VisitorPass< BlockHoisting >, sdfg::passes::VisitorPass< ConditionElimination >, sdfg::passes::VisitorPass< CudaExpansion >, sdfg::passes::VisitorPass< CudaLibraryNodeRewriter >, sdfg::passes::VisitorPass< CudaLibraryNodeTransferExtractionVisitor >, sdfg::passes::VisitorPass< DotExpansion >, sdfg::passes::VisitorPass< EinsumConversion >, sdfg::passes::VisitorPass< EinsumExpansion >, sdfg::passes::VisitorPass< EinsumLower >, sdfg::passes::VisitorPass< ExtendedBlockHoisting >, sdfg::passes::VisitorPass< FPContraction >, sdfg::passes::VisitorPass< IteratorToIndvar >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::BatchNormNode, math::tensor::ReLUNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode, math::tensor::ConvNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode, math::tensor::ConvNode, math::tensor::BatchNormNode > >, sdfg::passes::VisitorPass< MemletLinearization >, sdfg::passes::VisitorPass< MemletSimplification >, sdfg::passes::VisitorPass< RocmExpansion >, sdfg::passes::VisitorPass< RocmLibraryNodeRewriter >, sdfg::passes::VisitorPass< RocmLibraryNodeTransferExtractionVisitor >, sdfg::passes::VisitorPass< TaskletFusion >, sdfg::passes::VisitorPass< TensorToPointerConversion >, sdfg::passes::VisitorPass< TrivialReferenceConversion >, sdfg::passes::WhileToForConversion, and sdfg::tiles::TileGuardNormalization.

◆ option()

template<class T>
T sdfg::passes::Pass::option ( const OptionKey< T > & key,
T fallback = T{} ) const
inlineprotected

◆ options()

virtual std::vector< OptionSpec > sdfg::passes::Pass::options ( )
inlinevirtual

◆ run() [1/2]

bool sdfg::passes::Pass::run ( builder::SDFGBuilder & builder,
bool create_report = false )

◆ run() [2/2]

bool sdfg::passes::Pass::run ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager,
bool create_report = false )

◆ run_pass() [1/2]

virtual bool sdfg::passes::Pass::run_pass ( builder::SDFGBuilder & builder)
virtual

Reimplemented in sdfg::passes::UnifyLoopExits.

◆ run_pass() [2/2]

virtual bool sdfg::passes::Pass::run_pass ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager )
virtual

Reimplemented in sdfg::einsum::EinsumDetectionPass, sdfg::fp_math::ContractionPrecisionPass, sdfg::parallelization::AutoParallelization, sdfg::passes::BlockSortingPass, sdfg::passes::ByteReferenceElimination, sdfg::passes::CollapsePass, sdfg::passes::CommonAssignmentElimination, sdfg::passes::ConstantPropagation, sdfg::passes::DataTransferMinimizationPass, sdfg::passes::DeadCFGElimination, sdfg::passes::DeadDataElimination, sdfg::passes::DeadReferenceElimination, sdfg::passes::DebugDumpPass, sdfg::passes::DebugInfoPropagation, sdfg::passes::DeviceBufferReusePass, sdfg::passes::DeviceResidentArgPromotionPass, sdfg::passes::GPUControlFlowOffloadPass< Traits >, sdfg::passes::GPUControlFlowOffloadPass< CUDAControlFlowOffloadTraits >, sdfg::passes::GPUControlFlowOffloadPass< ROCMControlFlowOffloadTraits >, sdfg::passes::GPULoopReorderingPass, sdfg::passes::GPUNestedOffloadPass, sdfg::passes::GPUNestedParallelizationPass, sdfg::passes::LibraryNodeExpansionPass< Holder >, sdfg::passes::loop_fusion::LoopFusionPass, sdfg::passes::NoLibnodesBlockFusionPass, sdfg::passes::normalization::LoopNormalFormPass, sdfg::passes::normalization::MapDelinearizationPass, sdfg::passes::normalization::MapFusionPass, sdfg::passes::normalization::PerfectLoopDistributionPass, sdfg::passes::normalization::StrideMinimization, sdfg::passes::ReadonlyTransferHoistingPass, sdfg::passes::ReductionSharedMemoryDelinearization, sdfg::passes::RedundantLoadEliminationPass, sdfg::passes::RedundantZeroInitEliminationPass, sdfg::passes::ReferencePropagation, sdfg::passes::RemoveRedundantTransfersPass, sdfg::passes::ScalarPromotionPass, sdfg::passes::scheduler::LoopSchedulingPass, sdfg::passes::scheduler::RpcOptimizationPass, sdfg::passes::SequenceFusion, sdfg::passes::SymbolEvolution, sdfg::passes::SymbolPromotion, sdfg::passes::SymbolPropagation, sdfg::passes::SyncConditionPropagation, sdfg::passes::TargetMappingPass, sdfg::passes::TensorAllocationSizeInference, sdfg::passes::TilingPass, sdfg::passes::TrivialArrayElimination, sdfg::passes::TrivialLoopEliminationPass, sdfg::passes::UniqueLoopIndvars, sdfg::passes::VisitorPass< T >, sdfg::passes::VisitorPass< AllocationManagement >, sdfg::passes::VisitorPass< ApproximateMath >, sdfg::passes::VisitorPass< BlockFusion >, sdfg::passes::VisitorPass< BlockHoisting >, sdfg::passes::VisitorPass< ConditionElimination >, sdfg::passes::VisitorPass< CudaExpansion >, sdfg::passes::VisitorPass< CudaLibraryNodeRewriter >, sdfg::passes::VisitorPass< CudaLibraryNodeTransferExtractionVisitor >, sdfg::passes::VisitorPass< DotExpansion >, sdfg::passes::VisitorPass< EinsumConversion >, sdfg::passes::VisitorPass< EinsumExpansion >, sdfg::passes::VisitorPass< EinsumLower >, sdfg::passes::VisitorPass< ExtendedBlockHoisting >, sdfg::passes::VisitorPass< FPContraction >, sdfg::passes::VisitorPass< IteratorToIndvar >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::BatchNormNode, math::tensor::ReLUNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode, math::tensor::ConvNode > >, sdfg::passes::VisitorPass< LocalBufferReuseN< math::tensor::ConvNode, math::tensor::BatchNormNode, math::tensor::ReLUNode, math::tensor::ConvNode, math::tensor::BatchNormNode > >, sdfg::passes::VisitorPass< MemletLinearization >, sdfg::passes::VisitorPass< MemletSimplification >, sdfg::passes::VisitorPass< RocmExpansion >, sdfg::passes::VisitorPass< RocmLibraryNodeRewriter >, sdfg::passes::VisitorPass< RocmLibraryNodeTransferExtractionVisitor >, sdfg::passes::VisitorPass< TaskletFusion >, sdfg::passes::VisitorPass< TensorToPointerConversion >, sdfg::passes::VisitorPass< TrivialReferenceConversion >, sdfg::passes::WhileToForConversion, and sdfg::tiles::TileGuardNormalization.

◆ VisitorPass

template<typename T>
friend class VisitorPass
friend

The documentation for this class was generated from the following file:
  • sdfg/include/sdfg/passes/pass.h