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

#include <sdfg/passes/offloading/data_transfer_minimization_pass.h>

Inheritance diagram for sdfg::passes::DataTransferMinimizationPass:
[legend]

Public Member Functions

 DataTransferMinimizationPass ()
std::string name () override
bool run_pass (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Public Member Functions inherited from sdfg::passes::Pass
 Pass ()=default
 Pass (const Options &options)
virtual ~Pass ()=default
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 void invalidates (analysis::AnalysisManager &analysis_manager, bool applied)

Static Public Member Functions

static bool available (analysis::AnalysisManager &AM)

Protected Member Functions

bool eliminate_transfer_pair (builder::StructuredSDFGBuilder &builder, analysis::OffloadHolder &copy_out, analysis::OffloadHolder &copy_in, const analysis::DataTransferEliminationAnalysis &transfer_analysis, analysis::ControlFlowAnalysis &cf_analysis, bool remove_d2h=false)
bool eliminate_malloc_first_transfer (builder::StructuredSDFGBuilder &builder, analysis::OffloadHolder &malloc_holder, analysis::OffloadHolder &copy_in)
bool eliminate_redundant_d2h (builder::StructuredSDFGBuilder &builder, analysis::OffloadHolder &h2d, analysis::OffloadHolder &d2h)
Protected Member Functions inherited from sdfg::passes::Pass
template<class T>
T option (const OptionKey< T > &key, T fallback=T{}) const

Constructor & Destructor Documentation

◆ DataTransferMinimizationPass()

sdfg::passes::DataTransferMinimizationPass::DataTransferMinimizationPass ( )

Member Function Documentation

◆ available()

bool sdfg::passes::DataTransferMinimizationPass::available ( analysis::AnalysisManager & AM)
inlinestatic

◆ eliminate_malloc_first_transfer()

bool sdfg::passes::DataTransferMinimizationPass::eliminate_malloc_first_transfer ( builder::StructuredSDFGBuilder & builder,
analysis::OffloadHolder & malloc_holder,
analysis::OffloadHolder & copy_in )
protected

◆ eliminate_redundant_d2h()

bool sdfg::passes::DataTransferMinimizationPass::eliminate_redundant_d2h ( builder::StructuredSDFGBuilder & builder,
analysis::OffloadHolder & h2d,
analysis::OffloadHolder & d2h )
protected

◆ eliminate_transfer_pair()

bool sdfg::passes::DataTransferMinimizationPass::eliminate_transfer_pair ( builder::StructuredSDFGBuilder & builder,
analysis::OffloadHolder & copy_out,
analysis::OffloadHolder & copy_in,
const analysis::DataTransferEliminationAnalysis & transfer_analysis,
analysis::ControlFlowAnalysis & cf_analysis,
bool remove_d2h = false )
protected

◆ name()

std::string sdfg::passes::DataTransferMinimizationPass::name ( )
inlineoverridevirtual

Implements sdfg::passes::Pass.

◆ run_pass()

bool sdfg::passes::DataTransferMinimizationPass::run_pass ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager )
overridevirtual

Reimplemented from sdfg::passes::Pass.


The documentation for this class was generated from the following file: