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

Finds uses of containers. More...

#include <sdfg/users/base_user_visitor.h>

Inheritance diagram for sdfg::users::BaseUserVisitor:
[legend]

Public Member Functions

virtual void handle_lib_node (Block &, data_flow::LibraryNode &libnode)
virtual void handle_structured_loop_before_body (StructuredLoop &loop)
virtual void handle_structured_loop_after_body (StructuredLoop &loop)
bool visit (sdfg::structured_control_flow::Block &node) override
bool visit (sdfg::structured_control_flow::AssignmentBlock &node) override
bool visit (sdfg::structured_control_flow::Sequence &node) override
bool visit (sdfg::structured_control_flow::IfElse &node) override
bool handleStructuredLoop (StructuredLoop &loop) override
bool visit (sdfg::structured_control_flow::Return &node) override
Public Member Functions inherited from sdfg::visitor::ActualStructuredSDFGVisitor
 ActualStructuredSDFGVisitor ()
virtual ~ActualStructuredSDFGVisitor ()=default
bool visit (sdfg::structured_control_flow::ControlFlowNode &node)
bool dispatch (sdfg::structured_control_flow::ControlFlowNode &node)
virtual bool visit (sdfg::structured_control_flow::For &node)
virtual bool visit (sdfg::structured_control_flow::Map &node)
virtual bool visit (sdfg::structured_control_flow::Reduce &node)
virtual bool visit (sdfg::structured_control_flow::While &node)
virtual bool visit (sdfg::structured_control_flow::Continue &node)
virtual bool visit (sdfg::structured_control_flow::Break &node)
Public Member Functions inherited from sdfg::users::BaseUserAnalyzer
virtual ~BaseUserAnalyzer ()=default
virtual void use_as_symbol_read (const std::string &container, const ControlFlowNode *node, const Element *user, SymbolReadLocation loc, int loc_index, symbolic::Expression expr)=0
virtual void use_as_symbol_write (const symbolic::Symbol &container, const ControlFlowNode *node, const Element *user, SymbolWriteLocation loc)=0
virtual void use_as_src_node (const std::string &container, const data_flow::AccessNode &node, const data_flow::Memlet &edge, const Block &block)=0
virtual void use_as_dst_node (const std::string &container, const data_flow::AccessNode &node, const data_flow::Memlet &edge, const Block &block)=0
virtual void use_as_return_src (const std::string &container, const Return &ret)=0

Additional Inherited Members

Public Types inherited from sdfg::users::BaseUserAnalyzer
enum class  SymbolReadLocation {
  Assignment , LoopHeader , IfHeader , MemletSubset ,
  LibraryNode
}
enum class  SymbolWriteLocation { Assignment , LoopHeader }
Static Public Attributes inherited from sdfg::users::BaseUserAnalyzer
static constexpr int LOC_LOOP_READ_INIT = 0
static constexpr int LOC_LOOP_READ_CONDITION = 1
static constexpr int LOC_LOOP_READ_UPDATE = 2

Detailed Description

Finds uses of containers.

Member Function Documentation

◆ handle_lib_node()

virtual void sdfg::users::BaseUserVisitor::handle_lib_node ( Block & ,
data_flow::LibraryNode & libnode )
virtual

◆ handle_structured_loop_after_body()

virtual void sdfg::users::BaseUserVisitor::handle_structured_loop_after_body ( StructuredLoop & loop)
virtual

◆ handle_structured_loop_before_body()

virtual void sdfg::users::BaseUserVisitor::handle_structured_loop_before_body ( StructuredLoop & loop)
virtual

◆ handleStructuredLoop()

bool sdfg::users::BaseUserVisitor::handleStructuredLoop ( StructuredLoop & loop)
overridevirtual

◆ visit() [1/5]

bool sdfg::users::BaseUserVisitor::visit ( sdfg::structured_control_flow::AssignmentBlock & node)
overridevirtual

◆ visit() [2/5]

bool sdfg::users::BaseUserVisitor::visit ( sdfg::structured_control_flow::Block & node)
overridevirtual

◆ visit() [3/5]

bool sdfg::users::BaseUserVisitor::visit ( sdfg::structured_control_flow::IfElse & node)
overridevirtual

◆ visit() [4/5]

bool sdfg::users::BaseUserVisitor::visit ( sdfg::structured_control_flow::Return & node)
overridevirtual

◆ visit() [5/5]

bool sdfg::users::BaseUserVisitor::visit ( sdfg::structured_control_flow::Sequence & node)
overridevirtual

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