|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Reusable BaseUserAnalyzer that detects pointer overwrites. More...
#include <sdfg/analysis/pointer_analyzers.h>
Public Member Functions | |
| PointerOverwriteAnalyzer (const StructuredSDFG &sdfg, Policy &policy) | |
| void | use_as_dst_node (const std::string &container, const data_flow::AccessNode &node, const data_flow::Memlet &edge, const Block &block) override |
| void | use_as_symbol_write (const symbolic::Symbol &container, const ControlFlowNode *node, const Element *user, SymbolWriteLocation loc) override |
| void | use_as_return_src (const std::string &container, const Return &ret) override |
| void | use_as_src_node (const std::string &container, const data_flow::AccessNode &node, const data_flow::Memlet &edge, const Block &block) override |
| void | use_as_symbol_read (const std::string &container, const ControlFlowNode *node, const Element *user, SymbolReadLocation loc, int loc_index, symbolic::Expression expr) override |
| Public Member Functions inherited from sdfg::users::BaseUserAnalyzer | |
| virtual | ~BaseUserAnalyzer ()=default |
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 |
Reusable BaseUserAnalyzer that detects pointer overwrites.
For each of the 5 BaseUserAnalyzer callbacks, it checks whether the access involves a pointer-typed container and whether the operation constitutes an overwrite (the pointer variable itself is reassigned). Detected events are forwarded to the policy object via static dispatch.
Does NOT walk the SDFG itself — must be driven by a BaseUserVisitor (or future CompositeUserVisitor) that calls the callbacks.
|
inline |
|
inlineoverridevirtual |
Implements sdfg::users::BaseUserAnalyzer.
|
inlineoverridevirtual |
Implements sdfg::users::BaseUserAnalyzer.
|
inlineoverridevirtual |
Implements sdfg::users::BaseUserAnalyzer.
|
inlineoverridevirtual |
Implements sdfg::users::BaseUserAnalyzer.
|
inlineoverridevirtual |
Implements sdfg::users::BaseUserAnalyzer.