|
docc 0.8.3 (0d44999b)
C++ API Reference
|
The pointer is used solely to write, no reading and over all of the data. More...
#include <sdfg/data_flow/pointer_metadata.h>
Public Member Functions | |
| PointerFullWriteOnly (MemoryAccessPatternType write_pattern, bool no_capture=false) | |
| MemoryAccessPatternType | access_write_pattern () const override |
| Describes which elements are overwritten. | |
| MemoryAccessPatternType | access_read_pattern () const override |
| Describes which elements are accessed (for example a function may only access the range of [ptr, ptr+8] bytes and not touch or care about what comes after) Pointer access metadata only applies to the elements that are part of the pattern. | |
| bool | no_capture () const override |
| Despite this being a leak of the pointer, the user will only use it for blocking accesses to the underlying data and not capture a reference to the data in any way. | |
| bool | may_contain_reads () const override |
| The pointer may be used to read from the backing data. | |
| bool | may_contain_writes () const override |
| The pointe may be used to write to the backing data. | |
| bool | invalidated_after () const override |
| void | replace (const symbolic::Expression old_expression, const symbolic::Expression new_expression) override |
| void | replace (const symbolic::ExpressionMapping &replacements) override |
| PointerAccessType | clone () const override |
| void | serialize_to_json (nlohmann::json &entry) override |
| Public Member Functions inherited from sdfg::data_flow::PointerAccessMeta | |
| virtual | ~PointerAccessMeta ()=default |
| PointerAccessType | ref () const |
Additional Inherited Members | |
| Static Public Member Functions inherited from sdfg::data_flow::PointerAccessMeta | |
| static PointerAccessType | create_read_only (const symbolic::Expression &size, bool no_capture, std::optional< math::tensor::TensorLayout > layout=std::nullopt, bool every_element_read=false) |
| static PointerAccessType | create_invalidate () |
| static PointerAccessType | create_full_write_only (const symbolic::Expression &size, bool no_capture, std::optional< math::tensor::TensorLayout > layout=std::nullopt) |
| static PointerAccessType | create_generic (MemoryAccessPatternType read_pattern, MemoryAccessPatternType write_pattern, bool no_capture) |
| Protected Member Functions inherited from sdfg::data_flow::PointerAccessMeta | |
| PointerAccessMeta ()=default | |
The pointer is used solely to write, no reading and over all of the data.
| sdfg::data_flow::PointerFullWriteOnly::PointerFullWriteOnly | ( | MemoryAccessPatternType | write_pattern, |
| bool | no_capture = false ) |
|
overridevirtual |
Describes which elements are accessed (for example a function may only access the range of [ptr, ptr+8] bytes and not touch or care about what comes after) Pointer access metadata only applies to the elements that are part of the pattern.
A structured operand carries its real shape/strides through a TensorLayoutPattern; a flat convex span through a ConvexAccessPattern.
Implements sdfg::data_flow::PointerAccessMeta.
|
overridevirtual |
Describes which elements are overwritten.
If the underlying memory-area is larger, other elements outside of the pattern remain unchanged
Implements sdfg::data_flow::PointerAccessMeta.
|
overridevirtual |
Implements sdfg::data_flow::PointerAccessMeta.
|
inlineoverridevirtual |
Implements sdfg::data_flow::PointerAccessMeta.
|
inlineoverridevirtual |
The pointer may be used to read from the backing data.
Implements sdfg::data_flow::PointerAccessMeta.
|
inlineoverridevirtual |
The pointe may be used to write to the backing data.
Implements sdfg::data_flow::PointerAccessMeta.
|
inlineoverridevirtual |
Despite this being a leak of the pointer, the user will only use it for blocking accesses to the underlying data and not capture a reference to the data in any way.
Like a Rust temporary borrow for the duration of the LibNode and no more.
Implements sdfg::data_flow::PointerAccessMeta.
|
overridevirtual |
Implements sdfg::data_flow::PointerAccessMeta.
|
overridevirtual |
Implements sdfg::data_flow::PointerAccessMeta.
|
overridevirtual |
Implements sdfg::data_flow::PointerAccessMeta.