|
| | DataTransferEliminationAnalysis (StructuredSDFG &sdfg, AnalysisManager &ana) |
| void | handle_lib_node (Block &block, data_flow::LibraryNode &node) override |
| void | handle_structured_loop_before_body (StructuredLoop &loop) override |
| void | on_escape (const std::string &container, const ControlFlowNode *node, const Element *user) override |
| void | on_write_via (const std::string &container, const ControlFlowNode *node, const data_flow::Memlet *user) override |
| void | on_read_via (const std::string &container, const ControlFlowNode *node, const data_flow::Memlet *user) override |
| void | use_as_return_src (const std::string &container, const Return &ret) 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 |
| 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_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 |
| std::unique_ptr< OffloadState > | create_initial_state (const structured_control_flow::ControlFlowNode &node) override |
| void | run () |
| virtual void | handle_structured_loop_after_body (StructuredLoop &loop) |
| bool | visit (sdfg::structured_control_flow::Block &node) override |
| bool | visit (sdfg::structured_control_flow::AssignmentBlock &node) override |
| bool | visit (sdfg::structured_control_flow::Sequence &node) override |
| bool | visit (sdfg::structured_control_flow::IfElse &node) override |
| bool | handleStructuredLoop (StructuredLoop &loop) override |
| bool | visit (sdfg::structured_control_flow::Return &node) override |
| | ActualStructuredSDFGVisitor () |
| virtual | ~ActualStructuredSDFGVisitor ()=default |
| bool | visit (sdfg::structured_control_flow::ControlFlowNode &node) |
| bool | dispatch (sdfg::structured_control_flow::ControlFlowNode &node) |
| virtual bool | visit (sdfg::structured_control_flow::For &node) |
| virtual bool | visit (sdfg::structured_control_flow::Map &node) |
| virtual bool | visit (sdfg::structured_control_flow::Reduce &node) |
| virtual bool | visit (sdfg::structured_control_flow::While &node) |
| virtual bool | visit (sdfg::structured_control_flow::Continue &node) |
| virtual bool | visit (sdfg::structured_control_flow::Break &node) |
| virtual | ~BaseUserAnalyzer ()=default |
| virtual | ~ForwardStructuredDataFlowAnalysis ()=default |
| void | run_forward (structured_control_flow::Sequence &root) |
| | Run the analysis starting from the given root sequence.
|
| const OffloadState & | state (const structured_control_flow::ControlFlowNode &node) const |
| | Retrieve the computed data-flow state for a node.
|
| bool | has_state (const structured_control_flow::ControlFlowNode &node) const |
| Public Member Functions inherited from sdfg::analysis::DataTransferEliminationCandidateCollector |
| void | found_transfer_reuse_pair (const ExposedOffload &src, OffloadHolder &dst) |
| void | register_device_free (const std::string &container, structured_control_flow::Block *block, offloading::DataOffloadingNode *node) |
| const std::vector< DeviceFreeSite > * | device_frees (const std::string &container) const |
| | All device-buffer free sites for container, or nullptr if it is never freed on device.
|
| void | found_empty_host_malloc (const ExposedOffload &malloc, OffloadHolder &h2d_transfer) |
| void | found_redundant_d2h_pair (const ExposedOffload &h2d, OffloadHolder &d2h) |
| const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & | transfer_reuse_candidates () const |
| const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & | empty_malloc_candidates () const |
| const std::vector< std::pair< ExposedOffload, OffloadHolder & > > & | redundant_d2h_candidates () const |