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

#include <sdfg/users/base_user_visitor.h>

Inheritance diagram for sdfg::analysis::BaseUserAnalyzer:
[legend]

Public Types

enum class  SymbolReadLocation {
  Assignment , LoopHeader , IfHeader , MemletSubset ,
  LibraryNode
}
enum class  SymbolWriteLocation { Assignment , LoopHeader }

Public Member Functions

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

Static Public Attributes

static constexpr int LOC_LOOP_READ_INIT = 0
static constexpr int LOC_LOOP_READ_CONDITION = 1
static constexpr int LOC_LOOP_READ_UPDATE = 2

Member Enumeration Documentation

◆ SymbolReadLocation

Enumerator
Assignment 
LoopHeader 
IfHeader 
MemletSubset 
LibraryNode 

◆ SymbolWriteLocation

Enumerator
Assignment 
LoopHeader 

Constructor & Destructor Documentation

◆ ~BaseUserAnalyzer()

Member Function Documentation

◆ use_as_dst_node()

virtual void sdfg::users::BaseUserAnalyzer::use_as_dst_node ( const std::string & container,
const data_flow::AccessNode & node,
const data_flow::Memlet & edge,
const Block & block )
pure virtual

◆ use_as_return_src()

virtual void sdfg::users::BaseUserAnalyzer::use_as_return_src ( const std::string & container,
const Return & ret )
pure virtual

◆ use_as_src_node()

virtual void sdfg::users::BaseUserAnalyzer::use_as_src_node ( const std::string & container,
const data_flow::AccessNode & node,
const data_flow::Memlet & edge,
const Block & block )
pure virtual

◆ use_as_symbol_read()

virtual void sdfg::users::BaseUserAnalyzer::use_as_symbol_read ( const std::string & container,
const ControlFlowNode * node,
const Element * user,
SymbolReadLocation loc,
int loc_index,
symbolic::Expression expr )
pure virtual

◆ use_as_symbol_write()

virtual void sdfg::users::BaseUserAnalyzer::use_as_symbol_write ( const symbolic::Symbol & container,
const ControlFlowNode * node,
const Element * user,
SymbolWriteLocation loc )
pure virtual

Member Data Documentation

◆ LOC_LOOP_READ_CONDITION

◆ LOC_LOOP_READ_INIT

◆ LOC_LOOP_READ_UPDATE


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