#include <sdfg/passes/loop_fusion/loop_fusion_by_accesses.h>
◆ FusionDirection
| Enumerator |
|---|
| None | |
| ProducerIntoConsumer | |
| ConsumerIntoProducer | |
◆ LoopFusionByAccessWorker()
| sdfg::passes::loop_fusion::LoopFusionByAccessWorker::LoopFusionByAccessWorker |
( |
bool | allow_init_hoist = true | ) |
|
|
inlineprotected |
◆ ~LoopFusionByAccessWorker()
| virtual sdfg::passes::loop_fusion::LoopFusionByAccessWorker::~LoopFusionByAccessWorker |
( |
| ) |
|
|
protectedvirtualdefault |
◆ apply_consumer_into_producer()
| virtual ComplexFusionResult sdfg::passes::loop_fusion::LoopFusionByAccessWorker::apply_consumer_into_producer |
( |
Plan & | plan | ) |
|
|
protectedvirtual |
◆ apply_fusion_by_access_plan()
| ComplexFusionResult sdfg::passes::loop_fusion::LoopFusionByAccessWorker::apply_fusion_by_access_plan |
( |
std::unique_ptr< Plan > | plan | ) |
|
◆ apply_producer_into_consumer()
| virtual ComplexFusionResult sdfg::passes::loop_fusion::LoopFusionByAccessWorker::apply_producer_into_consumer |
( |
Plan & | plan | ) |
|
|
protectedvirtual |
◆ builder()
◆ collect_loop_parents()
◆ collect_structured_sub_tree()
Returns a vector of loops from top to its innermost StructuredLoop, assuming they are all perfectly nested.
◆ find_fusion_regs()
◆ get_fuse_candidate()
◆ get_loop_analysis()
◆ solve_subsets()
◆ try_create_fusion_by_access_plan()
◆ try_fuse_by_access()
◆ update_copied_leaf_contents_from_first_to_second()
| virtual void sdfg::passes::loop_fusion::LoopFusionByAccessWorker::update_copied_leaf_contents_from_first_to_second |
( |
const Plan & | plan, |
|
|
FusionLoopCandidate * | first_current, |
|
|
FusionLoopCandidate * | second_current ) |
|
protectedpure virtual |
◆ allow_init_hoist_
| bool sdfg::passes::loop_fusion::LoopFusionByAccessWorker::allow_init_hoist_ = true |
|
protected |
The documentation for this class was generated from the following file: