|
docc 0.8.3 (0d44999b)
C++ API Reference
|
#include <sdfg/users/users.h>
Public Member Functions | |
| Users (StructuredSDFG &sdfg) | |
| Users (StructuredSDFG &sdfg, structured_control_flow::ControlFlowNode &node) | |
| std::string | name () const override |
| void | run (analysis::AnalysisManager &analysis_manager) override |
| bool | has_user (const std::string &container, Element *element, Use use, bool is_init=false, bool is_condition=false, bool is_update=false) |
| User * | get_user (const std::string &container, Element *element, Use use, bool is_init=false, bool is_condition=false, bool is_update=false) |
| std::vector< User * > | uses () const |
| std::vector< User * > | uses (const std::string &container) const |
| size_t | num_uses (const std::string &container) const |
| std::vector< User * > | writes () const |
| const std::vector< User * > & | writes (const std::string &container) const |
| size_t | num_writes (const std::string &container) const |
| std::vector< User * > | reads () const |
| const std::vector< User * > & | reads (const std::string &container) const |
| size_t | num_reads (const std::string &container) const |
| std::vector< User * > | views () const |
| const std::vector< User * > & | views (const std::string &container) const |
| size_t | num_views (const std::string &container) const |
| std::vector< User * > | moves () const |
| const std::vector< User * > & | moves (const std::string &container) const |
| size_t | num_moves (const std::string &container) const |
| std::unordered_set< std::string > | locals (structured_control_flow::ControlFlowNode &node) |
| const std::unordered_set< User * > | all_uses_between (User &user1, User &user2) |
| const std::unordered_set< User * > | all_uses_after (User &user) |
| const std::vector< std::string > | all_containers_in_order () |
| bool | dominates (User &user1, User &user2) |
| Strict dominance between two users, derived from. | |
| bool | post_dominates (User &user1, User &user2) |
| Strict post-dominance between two users, derived from the structured control flow. | |
| Public Member Functions inherited from sdfg::analysis::Analysis | |
| Analysis (StructuredSDFG &sdfg) | |
| Analysis (StructuredSDFG &sdfg, const Options &options) | |
| virtual | ~Analysis ()=default |
| virtual bool | invalidate (structured_control_flow::ControlFlowNode &changed) |
Updates the analysis after a change confined to the subtree of changed. | |
| Analysis (const Analysis &a)=delete | |
| Analysis & | operator= (const Analysis &)=delete |
Static Public Member Functions | |
| static structured_control_flow::ControlFlowNode * | scope (User *user) |
Friends | |
| class | analysis::AnalysisManager |
| class | UsersView |
| sdfg::users::Users::Users | ( | StructuredSDFG & | sdfg | ) |
| sdfg::users::Users::Users | ( | StructuredSDFG & | sdfg, |
| structured_control_flow::ControlFlowNode & | node ) |
| const std::vector< std::string > sdfg::users::Users::all_containers_in_order | ( | ) |
| const std::unordered_set< User * > sdfg::users::Users::all_uses_after | ( | User & | user | ) |
| const std::unordered_set< User * > sdfg::users::Users::all_uses_between | ( | User & | user1, |
| User & | user2 ) |
| bool sdfg::users::Users::dominates | ( | User & | user1, |
| User & | user2 ) |
Strict dominance between two users, derived from.
| User * sdfg::users::Users::get_user | ( | const std::string & | container, |
| Element * | element, | ||
| Use | use, | ||
| bool | is_init = false, | ||
| bool | is_condition = false, | ||
| bool | is_update = false ) |
| bool sdfg::users::Users::has_user | ( | const std::string & | container, |
| Element * | element, | ||
| Use | use, | ||
| bool | is_init = false, | ||
| bool | is_condition = false, | ||
| bool | is_update = false ) |
| std::unordered_set< std::string > sdfg::users::Users::locals | ( | structured_control_flow::ControlFlowNode & | node | ) |
| std::vector< User * > sdfg::users::Users::moves | ( | ) | const |
| const std::vector< User * > & sdfg::users::Users::moves | ( | const std::string & | container | ) | const |
|
inlineoverridevirtual |
Implements sdfg::analysis::Analysis.
| size_t sdfg::users::Users::num_moves | ( | const std::string & | container | ) | const |
| size_t sdfg::users::Users::num_reads | ( | const std::string & | container | ) | const |
| size_t sdfg::users::Users::num_uses | ( | const std::string & | container | ) | const |
| size_t sdfg::users::Users::num_views | ( | const std::string & | container | ) | const |
| size_t sdfg::users::Users::num_writes | ( | const std::string & | container | ) | const |
| bool sdfg::users::Users::post_dominates | ( | User & | user1, |
| User & | user2 ) |
Strict post-dominance between two users, derived from the structured control flow.
| std::vector< User * > sdfg::users::Users::reads | ( | ) | const |
| const std::vector< User * > & sdfg::users::Users::reads | ( | const std::string & | container | ) | const |
|
overridevirtual |
Implements sdfg::analysis::Analysis.
|
static |
| std::vector< User * > sdfg::users::Users::uses | ( | ) | const |
| std::vector< User * > sdfg::users::Users::uses | ( | const std::string & | container | ) | const |
| std::vector< User * > sdfg::users::Users::views | ( | ) | const |
| const std::vector< User * > & sdfg::users::Users::views | ( | const std::string & | container | ) | const |
| std::vector< User * > sdfg::users::Users::writes | ( | ) | const |
| const std::vector< User * > & sdfg::users::Users::writes | ( | const std::string & | container | ) | const |
|
friend |
|
friend |