#include <sdfg/passes/expansion/lib_node_expander.h>
◆ ~ExpandContext()
| virtual sdfg::passes::LibNodeExpander::ExpandContext::~ExpandContext |
( |
| ) |
|
|
virtualdefault |
◆ options()
| virtual const Options & sdfg::passes::LibNodeExpander::ExpandContext::options |
( |
| ) |
const |
|
pure virtual |
◆ replacement_requires_access_nodes()
| virtual std::unique_ptr< AccessNodeExpand > sdfg::passes::LibNodeExpander::ExpandContext::replacement_requires_access_nodes |
( |
const std::vector< InputUse > & | access_dirs | ) |
|
|
pure virtual |
start expansion with access nodes.
The expander may cut the dataflow into input, and output. If there is a return value, then the access nodes can be provided. Whether this required cutting up the original dataflow or not does not matter
Actual replacement of the operation must be done via one of the methods of AccessNodeExpand, such as replace_with_sequence().
- Parameters
-
| access_dirs | list matching the input_conns of the node. Indicating for each input, whether it will be needed as read and/or write nodes ( because ptr-inputs may result in indirect reads or writes or both). Non-ptr inputs may only be skipped or used as Scalar) |
- Returns
- null, if cannot be provided. Otherwise a handle to create arbitrarily many copies of access nodes fitting the access_dirs
Implemented in sdfg::passes::expansion::LibNodeExpansionContext.
◆ successfully_modified_node_only()
| virtual ExpandOutcome sdfg::passes::LibNodeExpander::ExpandContext::successfully_modified_node_only |
( |
| ) |
|
|
pure virtual |
◆ unable()
| virtual ExpandOutcome sdfg::passes::LibNodeExpander::ExpandContext::unable |
( |
| ) |
|
|
pure virtual |
◆ unapplicable()
| virtual ExpandOutcome sdfg::passes::LibNodeExpander::ExpandContext::unapplicable |
( |
| ) |
|
|
pure virtual |
The documentation for this class was generated from the following file: