docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan Struct Reference

#include <sdfg/passes/loop_fusion/loop_fusion_by_accesses.h>

Public Member Functions

 Plan (structured_control_flow::Map &first, structured_control_flow::StructuredLoop &second)
structured_control_flow::StructuredLoop * consumer_target_loop () const
structured_control_flow::Sequence & consumer_target_sequence () const

Public Attributes

structured_control_flow::Map & first
structured_control_flow::StructuredLoop & second
FusionDirection direction_
std::vector< structured_control_flow::StructuredLoop * > producer_loops_
structured_control_flow::Sequence * producer_body_ = nullptr
structured_control_flow::Block * producer_block_ = nullptr
FusionLoopCandidate * producer_fusion_candidate_ = nullptr
std::vector< structured_control_flow::StructuredLoop * > consumer_loops_
structured_control_flow::Sequence * consumer_body_ = nullptr
FusionLoopCandidate * consumer_fusion_candidate_ = nullptr
std::vector< FusionRegCandidate > fusion_candidates_
bool init_hoist_ = false
structured_control_flow::Sequence * hoist_body_ = nullptr
bool domains_match = false
int64_t copied_redundant_writes = 0

Constructor & Destructor Documentation

◆ Plan()

sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::Plan ( structured_control_flow::Map & first,
structured_control_flow::StructuredLoop & second )
inline

Member Function Documentation

◆ consumer_target_loop()

structured_control_flow::StructuredLoop * sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::consumer_target_loop ( ) const

◆ consumer_target_sequence()

structured_control_flow::Sequence & sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::consumer_target_sequence ( ) const

Member Data Documentation

◆ consumer_body_

structured_control_flow::Sequence* sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::consumer_body_ = nullptr

◆ consumer_fusion_candidate_

FusionLoopCandidate* sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::consumer_fusion_candidate_ = nullptr

◆ consumer_loops_

std::vector<structured_control_flow::StructuredLoop*> sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::consumer_loops_

◆ copied_redundant_writes

int64_t sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::copied_redundant_writes = 0

◆ direction_

FusionDirection sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::direction_

◆ domains_match

bool sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::domains_match = false

◆ first

structured_control_flow::Map& sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::first

◆ fusion_candidates_

std::vector<FusionRegCandidate> sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::fusion_candidates_

◆ hoist_body_

structured_control_flow::Sequence* sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::hoist_body_ = nullptr

◆ init_hoist_

bool sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::init_hoist_ = false

◆ producer_block_

structured_control_flow::Block* sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::producer_block_ = nullptr

◆ producer_body_

structured_control_flow::Sequence* sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::producer_body_ = nullptr

◆ producer_fusion_candidate_

FusionLoopCandidate* sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::producer_fusion_candidate_ = nullptr

◆ producer_loops_

std::vector<structured_control_flow::StructuredLoop*> sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::producer_loops_

◆ second

structured_control_flow::StructuredLoop& sdfg::passes::loop_fusion::LoopFusionByAccessWorker::Plan::second

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