docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::analysis::EscapeDetailsPolicy Concept Reference

A more detailed variant of EscapePolicy that aims to distinguish between different types of pointer escapes and over-declare less. More...

#include <sdfg/analysis/pointer_analyzers.h>

Concept definition

template<typename P>
P& p,
const std::string& container,
const ControlFlowNode* node,
const data_flow::LibraryNode& lib_node,
const structured_control_flow::Return& return_node,
const data_flow::PointerAccessType& access_type
) {
p.on_ptr_input_into_lib_node(container, node, lib_node, access_type);
p.on_ptr_returned(container, return_node);
}
Base class for all library nodes in the dataflow graph.
Definition library_node.h:106
Base class for all structured control flow nodes in a StructuredSDFG.
Definition control_flow_node.h:44
Represents a return statement that exits the function with a value.
Definition return.h:32
A more detailed variant of EscapePolicy that aims to distinguish between different types of pointer e...
Definition pointer_analyzers.h:32
Concept for policies that handle pointer usages.
Definition pointer_analyzers.h:20
std::unique_ptr< PointerAccessMeta, PtrAccessDeleter > PointerAccessType
Definition pointer_metadata.h:32

Detailed Description

A more detailed variant of EscapePolicy that aims to distinguish between different types of pointer escapes and over-declare less.

Currently still very conservative for pointers used in symbolic expressions (iteration over a pointer range would not be an actual escape, but will currently be found as one)