|
docc 0.8.3 (0d44999b)
C++ API Reference
|
#include <sdfg/passes/expansion/lib_node_expander.h>
Public Member Functions | |
| CodeLibNodeExpander (const data_flow::LibraryNodeCode &code) | |
| const data_flow::LibraryNodeCode & | code () const |
| The fixed library node code this expander dispatches on. | |
| const data_flow::LibraryNodeCode * | matched_code () const override |
| If this expander dispatches on a single, fixed library node code, expose it here. | |
| const LibNodeExpander * | for_lib_node (const data_flow::LibraryNode &node) const override |
| Prefiltering of libnodes. | |
| Public Member Functions inherited from sdfg::passes::TypedLibNodeExpander< T > | |
| const LibNodeExpander * | for_lib_node (const data_flow::LibraryNode &node) const override |
| Prefiltering of libnodes. | |
| virtual LibNodeExpander::ExpandOutcome | handle_expand (LibNodeExpander::ExpandContext &context, structured_control_flow::Block &block, T &node) const =0 |
| LibNodeExpander::ExpandOutcome | handle_expand (LibNodeExpander::ExpandContext &context, structured_control_flow::Block &block, data_flow::LibraryNode &node) const override |
| Public Member Functions inherited from sdfg::passes::LibNodeExpander | |
| virtual | ~LibNodeExpander ()=default |
Additional Inherited Members | |
| Public Types inherited from sdfg::passes::LibNodeExpander | |
| enum class | InputUse { Skip = 0 , Scalar , IndirectRead , IndirectWrite , IndirectReadWrite } |
|
inline |
|
inline |
The fixed library node code this expander dispatches on.
|
inlineoverridevirtual |
Prefiltering of libnodes.
Allows that an expander sub-divides based on types, codes or impl-types or sth. more elaborate, because we get ready to transform
| node |
Reimplemented from sdfg::passes::LibNodeExpander.
Reimplemented in sdfg::gpu::GpuMmaExpander.
|
inlineoverridevirtual |
If this expander dispatches on a single, fixed library node code, expose it here.
This lets aggregating expanders (e.g. SwitchExpander) build an efficient code -> expander map and jump straight to the right expander, instead of testing every expander linearly via for_lib_node.
Reimplemented from sdfg::passes::LibNodeExpander.