Polly 22.0.0git
isl::schedule_node Class Reference

#include <isl-noexceptions.h>

Inheritance diagram for isl::schedule_node:
[legend]

Public Member Functions

 schedule_node ()
 schedule_node (const schedule_node &obj)
schedule_nodeoperator= (schedule_node obj)
 ~schedule_node ()
__isl_give isl_schedule_nodecopy () const &
__isl_give isl_schedule_nodecopy () &&=delete
__isl_keep isl_schedule_nodeget () const
__isl_give isl_schedule_noderelease ()
bool is_null () const
template<class T>
boolean isa () const
template<class T>
as () const
isl::ctx ctx () const
isl::schedule_node ancestor (int generation) const
class size ancestor_child_position (const isl::schedule_node &ancestor) const
class size get_ancestor_child_position (const isl::schedule_node &ancestor) const
isl::schedule_node child (int pos) const
class size child_position () const
class size get_child_position () const
isl::union_set domain () const
isl::union_set get_domain () const
boolean every_descendant (const std::function< boolean(isl::schedule_node)> &test) const
isl::schedule_node first_child () const
stat foreach_ancestor_top_down (const std::function< stat(isl::schedule_node)> &fn) const
stat foreach_descendant_top_down (const std::function< boolean(isl::schedule_node)> &fn) const
isl::schedule_node graft_after (isl::schedule_node graft) const
isl::schedule_node graft_before (isl::schedule_node graft) const
boolean has_children () const
boolean has_next_sibling () const
boolean has_parent () const
boolean has_previous_sibling () const
isl::schedule_node insert_context (isl::set context) const
isl::schedule_node insert_filter (isl::union_set filter) const
isl::schedule_node insert_guard (isl::set context) const
isl::schedule_node insert_mark (isl::id mark) const
isl::schedule_node insert_mark (const std::string &mark) const
isl::schedule_node insert_partial_schedule (isl::multi_union_pw_aff schedule) const
isl::schedule_node insert_sequence (isl::union_set_list filters) const
isl::schedule_node insert_set (isl::union_set_list filters) const
boolean is_equal (const isl::schedule_node &node2) const
boolean is_subtree_anchored () const
isl::schedule_node map_descendant_bottom_up (const std::function< isl::schedule_node(isl::schedule_node)> &fn) const
class size n_children () const
isl::schedule_node next_sibling () const
isl::schedule_node order_after (isl::union_set filter) const
isl::schedule_node order_before (isl::union_set filter) const
isl::schedule_node parent () const
isl::multi_union_pw_aff prefix_schedule_multi_union_pw_aff () const
isl::multi_union_pw_aff get_prefix_schedule_multi_union_pw_aff () const
isl::union_map prefix_schedule_relation () const
isl::union_map get_prefix_schedule_relation () const
isl::union_map prefix_schedule_union_map () const
isl::union_map get_prefix_schedule_union_map () const
isl::union_pw_multi_aff prefix_schedule_union_pw_multi_aff () const
isl::union_pw_multi_aff get_prefix_schedule_union_pw_multi_aff () const
isl::schedule_node previous_sibling () const
isl::schedule_node root () const
isl::schedule schedule () const
isl::schedule get_schedule () const
class size schedule_depth () const
class size get_schedule_depth () const
isl::schedule_node shared_ancestor (const isl::schedule_node &node2) const
isl::schedule_node get_shared_ancestor (const isl::schedule_node &node2) const
class size tree_depth () const
class size get_tree_depth () const
isl::union_set universe_domain () const
isl::union_set get_universe_domain () const

Static Public Member Functions

static isl::schedule_node from_domain (isl::union_set domain)
static isl::schedule_node from_extension (isl::union_map extension)

Protected Member Functions

 schedule_node (__isl_take isl_schedule_node *ptr)

Protected Attributes

isl_schedule_nodeptr = nullptr

Private Member Functions

template<typename T, typename = typename std::enable_if<std::is_same< const decltype(isl_schedule_node_get_type(nullptr)), const T>::value>::type>
boolean isa_type (T subtype) const

Friends

schedule_node manage (__isl_take isl_schedule_node *ptr)
schedule_node manage_copy (__isl_keep isl_schedule_node *ptr)

Detailed Description

Definition at line 3538 of file isl-noexceptions.h.

Constructor & Destructor Documentation

◆ schedule_node() [1/3]

isl::schedule_node::schedule_node ( __isl_take isl_schedule_node * ptr)
inlineexplicitprotected

Definition at line 17431 of file isl-noexceptions.h.

References __isl_take, and ptr.

Referenced by copy(), get_schedule_depth(), get_tree_depth(), manage, manage_copy, n_children(), operator=(), schedule_depth(), schedule_node(), isl::schedule_node_band::schedule_node_band(), isl::schedule_node_band::schedule_node_band(), isl::schedule_node_band::schedule_node_band(), isl::schedule_node_context::schedule_node_context(), isl::schedule_node_context::schedule_node_context(), isl::schedule_node_context::schedule_node_context(), isl::schedule_node_domain::schedule_node_domain(), isl::schedule_node_domain::schedule_node_domain(), isl::schedule_node_domain::schedule_node_domain(), isl::schedule_node_expansion::schedule_node_expansion(), isl::schedule_node_expansion::schedule_node_expansion(), isl::schedule_node_expansion::schedule_node_expansion(), isl::schedule_node_extension::schedule_node_extension(), isl::schedule_node_extension::schedule_node_extension(), isl::schedule_node_extension::schedule_node_extension(), isl::schedule_node_filter::schedule_node_filter(), isl::schedule_node_filter::schedule_node_filter(), isl::schedule_node_filter::schedule_node_filter(), isl::schedule_node_guard::schedule_node_guard(), isl::schedule_node_guard::schedule_node_guard(), isl::schedule_node_guard::schedule_node_guard(), isl::schedule_node_leaf::schedule_node_leaf(), isl::schedule_node_leaf::schedule_node_leaf(), isl::schedule_node_leaf::schedule_node_leaf(), isl::schedule_node_mark::schedule_node_mark(), isl::schedule_node_mark::schedule_node_mark(), isl::schedule_node_mark::schedule_node_mark(), isl::schedule_node_sequence::schedule_node_sequence(), isl::schedule_node_sequence::schedule_node_sequence(), isl::schedule_node_sequence::schedule_node_sequence(), isl::schedule_node_set::schedule_node_set(), isl::schedule_node_set::schedule_node_set(), isl::schedule_node_set::schedule_node_set(), and tree_depth().

◆ schedule_node() [2/3]

isl::schedule_node::schedule_node ( )
inline

Definition at line 17422 of file isl-noexceptions.h.

References ptr.

◆ schedule_node() [3/3]

isl::schedule_node::schedule_node ( const schedule_node & obj)
inline

Definition at line 17425 of file isl-noexceptions.h.

References obj, ptr, and schedule_node().

◆ ~schedule_node()

isl::schedule_node::~schedule_node ( )
inline

Definition at line 17439 of file isl-noexceptions.h.

References isl_schedule_node_free(), and ptr.

Member Function Documentation

◆ ancestor()

isl::schedule_node isl::schedule_node::ancestor ( int generation) const
inline

◆ ancestor_child_position()

class size isl::schedule_node::ancestor_child_position ( const isl::schedule_node & ancestor) const
inline

◆ as()

◆ child()

◆ child_position()

class size isl::schedule_node::child_position ( ) const
inline

Definition at line 17509 of file isl-noexceptions.h.

References get(), isl_schedule_node_get_child_position(), manage, and res.

Referenced by copy(), and get_child_position().

◆ copy() [1/2]

◆ copy() [2/2]

◆ ctx()

isl::ctx isl::schedule_node::ctx ( ) const
inline

◆ domain()

isl::union_set isl::schedule_node::domain ( ) const
inline

Definition at line 17520 of file isl-noexceptions.h.

References get(), isl_schedule_node_get_domain(), manage, and res.

Referenced by copy(), from_domain(), and get_domain().

◆ every_descendant()

boolean isl::schedule_node::every_descendant ( const std::function< boolean(isl::schedule_node)> & test) const
inline

Definition at line 17531 of file isl-noexceptions.h.

References get(), isl_schedule_node_every_descendant(), manage, manage_copy, res, and test.

Referenced by copy().

◆ first_child()

isl::schedule_node isl::schedule_node::first_child ( ) const
inline

◆ foreach_ancestor_top_down()

stat isl::schedule_node::foreach_ancestor_top_down ( const std::function< stat(isl::schedule_node)> & fn) const
inline

Definition at line 17551 of file isl-noexceptions.h.

References fn, get(), isl_schedule_node_foreach_ancestor_top_down(), manage, manage_copy, and res.

Referenced by copy().

◆ foreach_descendant_top_down()

stat isl::schedule_node::foreach_descendant_top_down ( const std::function< boolean(isl::schedule_node)> & fn) const
inline

Definition at line 17565 of file isl-noexceptions.h.

References fn, get(), isl_schedule_node_foreach_descendant_top_down(), manage, manage_copy, and res.

Referenced by copy().

◆ from_domain()

isl::schedule_node isl::schedule_node::from_domain ( isl::union_set domain)
inlinestatic

Definition at line 17579 of file isl-noexceptions.h.

References domain(), isl_schedule_node_from_domain(), manage, and res.

Referenced by construct_schedule_tree(), and copy().

◆ from_extension()

isl::schedule_node isl::schedule_node::from_extension ( isl::union_map extension)
inlinestatic

Definition at line 17585 of file isl-noexceptions.h.

References isl_schedule_node_from_extension(), manage, isl::union_map::release(), and res.

Referenced by copy().

◆ get()

◆ get_ancestor_child_position()

class size isl::schedule_node::get_ancestor_child_position ( const isl::schedule_node & ancestor) const
inline

Definition at line 17498 of file isl-noexceptions.h.

References ancestor(), and ancestor_child_position().

Referenced by copy().

◆ get_child_position()

class size isl::schedule_node::get_child_position ( ) const
inline

Definition at line 17515 of file isl-noexceptions.h.

References child_position().

Referenced by copy().

◆ get_domain()

isl::union_set isl::schedule_node::get_domain ( ) const
inline

Definition at line 17526 of file isl-noexceptions.h.

References domain().

Referenced by polly::applyFullUnroll(), polly::applyMaxFission(), and copy().

◆ get_prefix_schedule_multi_union_pw_aff()

isl::multi_union_pw_aff isl::schedule_node::get_prefix_schedule_multi_union_pw_aff ( ) const
inline

Definition at line 17736 of file isl-noexceptions.h.

References prefix_schedule_multi_union_pw_aff().

Referenced by copy().

◆ get_prefix_schedule_relation()

isl::union_map isl::schedule_node::get_prefix_schedule_relation ( ) const
inline

Definition at line 17747 of file isl-noexceptions.h.

References prefix_schedule_relation().

Referenced by copy().

◆ get_prefix_schedule_union_map()

isl::union_map isl::schedule_node::get_prefix_schedule_union_map ( ) const
inline

Definition at line 17758 of file isl-noexceptions.h.

References prefix_schedule_union_map().

Referenced by copy().

◆ get_prefix_schedule_union_pw_multi_aff()

isl::union_pw_multi_aff isl::schedule_node::get_prefix_schedule_union_pw_multi_aff ( ) const
inline

Definition at line 17769 of file isl-noexceptions.h.

References prefix_schedule_union_pw_multi_aff().

Referenced by copy().

◆ get_schedule()

isl::schedule isl::schedule_node::get_schedule ( ) const
inline

◆ get_schedule_depth()

class size isl::schedule_node::get_schedule_depth ( ) const
inline

Definition at line 17803 of file isl-noexceptions.h.

References get_schedule_depth(), schedule_depth(), and schedule_node().

Referenced by copy(), and get_schedule_depth().

◆ get_shared_ancestor()

isl::schedule_node isl::schedule_node::get_shared_ancestor ( const isl::schedule_node & node2) const
inline

Definition at line 17814 of file isl-noexceptions.h.

References shared_ancestor().

Referenced by copy().

◆ get_tree_depth()

class size isl::schedule_node::get_tree_depth ( ) const
inline

Definition at line 17825 of file isl-noexceptions.h.

References get_tree_depth(), schedule_node(), and tree_depth().

Referenced by copy(), and get_tree_depth().

◆ get_universe_domain()

isl::union_set isl::schedule_node::get_universe_domain ( ) const
inline

Definition at line 17836 of file isl-noexceptions.h.

References universe_domain().

Referenced by copy().

◆ graft_after()

isl::schedule_node isl::schedule_node::graft_after ( isl::schedule_node graft) const
inline

Definition at line 17591 of file isl-noexceptions.h.

References copy(), isl_schedule_node_graft_after(), manage, release(), and res.

Referenced by copy().

◆ graft_before()

isl::schedule_node isl::schedule_node::graft_before ( isl::schedule_node graft) const
inline

Definition at line 17597 of file isl-noexceptions.h.

References copy(), isl_schedule_node_graft_before(), manage, release(), and res.

Referenced by copy().

◆ has_children()

boolean isl::schedule_node::has_children ( ) const
inline

◆ has_next_sibling()

boolean isl::schedule_node::has_next_sibling ( ) const
inline

◆ has_parent()

boolean isl::schedule_node::has_parent ( ) const
inline

Definition at line 17615 of file isl-noexceptions.h.

References get(), isl_schedule_node_has_parent(), manage, and res.

Referenced by copy().

◆ has_previous_sibling()

boolean isl::schedule_node::has_previous_sibling ( ) const
inline

Definition at line 17621 of file isl-noexceptions.h.

References get(), isl_schedule_node_has_previous_sibling(), manage, and res.

Referenced by copy().

◆ insert_context()

isl::schedule_node isl::schedule_node::insert_context ( isl::set context) const
inline

Definition at line 17627 of file isl-noexceptions.h.

References context, copy(), isl_schedule_node_insert_context(), manage, and res.

Referenced by copy().

◆ insert_filter()

isl::schedule_node isl::schedule_node::insert_filter ( isl::union_set filter) const
inline

Definition at line 17633 of file isl-noexceptions.h.

References copy(), isl_schedule_node_insert_filter(), manage, isl::union_set::release(), and res.

Referenced by copy().

◆ insert_guard()

isl::schedule_node isl::schedule_node::insert_guard ( isl::set context) const
inline

Definition at line 17639 of file isl-noexceptions.h.

References context, copy(), isl_schedule_node_insert_guard(), manage, and res.

Referenced by copy().

◆ insert_mark() [1/2]

isl::schedule_node isl::schedule_node::insert_mark ( const std::string & mark) const
inline

Definition at line 17651 of file isl-noexceptions.h.

References ctx(), and insert_mark().

◆ insert_mark() [2/2]

isl::schedule_node isl::schedule_node::insert_mark ( isl::id mark) const
inline

◆ insert_partial_schedule()

isl::schedule_node isl::schedule_node::insert_partial_schedule ( isl::multi_union_pw_aff schedule) const
inline

◆ insert_sequence()

◆ insert_set()

isl::schedule_node isl::schedule_node::insert_set ( isl::union_set_list filters) const
inline

Definition at line 17668 of file isl-noexceptions.h.

References copy(), isl_schedule_node_insert_set(), manage, isl::union_set_list::release(), and res.

Referenced by copy().

◆ is_equal()

boolean isl::schedule_node::is_equal ( const isl::schedule_node & node2) const
inline

Definition at line 17674 of file isl-noexceptions.h.

References get(), isl_schedule_node_is_equal(), manage, and res.

Referenced by copy().

◆ is_null()

bool isl::schedule_node::is_null ( ) const
inline

◆ is_subtree_anchored()

boolean isl::schedule_node::is_subtree_anchored ( ) const
inline

Definition at line 17680 of file isl-noexceptions.h.

References get(), isl_schedule_node_is_subtree_anchored(), manage, and res.

Referenced by copy().

◆ isa()

◆ isa_type()

template<typename T, typename>
boolean isl::schedule_node::isa_type ( T subtype) const
inlineprivate

Definition at line 17463 of file isl-noexceptions.h.

References get(), is_null(), and isl_schedule_node_get_type().

Referenced by copy(), and isa().

◆ map_descendant_bottom_up()

isl::schedule_node isl::schedule_node::map_descendant_bottom_up ( const std::function< isl::schedule_node(isl::schedule_node)> & fn) const
inline

Definition at line 17686 of file isl-noexceptions.h.

References copy(), fn, isl_schedule_node_map_descendant_bottom_up(), manage, and res.

Referenced by copy().

◆ n_children()

class size isl::schedule_node::n_children ( ) const
inline

◆ next_sibling()

isl::schedule_node isl::schedule_node::next_sibling ( ) const
inline

◆ operator=()

schedule_node & isl::schedule_node::operator= ( schedule_node obj)
inline

Definition at line 17434 of file isl-noexceptions.h.

References obj, and schedule_node().

◆ order_after()

isl::schedule_node isl::schedule_node::order_after ( isl::union_set filter) const
inline

Definition at line 17712 of file isl-noexceptions.h.

References copy(), isl_schedule_node_order_after(), manage, isl::union_set::release(), and res.

Referenced by copy().

◆ order_before()

isl::schedule_node isl::schedule_node::order_before ( isl::union_set filter) const
inline

Definition at line 17718 of file isl-noexceptions.h.

References copy(), isl_schedule_node_order_before(), manage, isl::union_set::release(), and res.

Referenced by copy().

◆ parent()

isl::schedule_node isl::schedule_node::parent ( ) const
inline

◆ prefix_schedule_multi_union_pw_aff()

isl::multi_union_pw_aff isl::schedule_node::prefix_schedule_multi_union_pw_aff ( ) const
inline

◆ prefix_schedule_relation()

isl::union_map isl::schedule_node::prefix_schedule_relation ( ) const
inline

◆ prefix_schedule_union_map()

isl::union_map isl::schedule_node::prefix_schedule_union_map ( ) const
inline

◆ prefix_schedule_union_pw_multi_aff()

isl::union_pw_multi_aff isl::schedule_node::prefix_schedule_union_pw_multi_aff ( ) const
inline

◆ previous_sibling()

isl::schedule_node isl::schedule_node::previous_sibling ( ) const
inline

Definition at line 17774 of file isl-noexceptions.h.

References copy(), isl_schedule_node_previous_sibling(), manage, and res.

Referenced by copy().

◆ release()

__isl_give isl_schedule_node * isl::schedule_node::release ( )
inline

Definition at line 17452 of file isl-noexceptions.h.

References __isl_give, and ptr.

Referenced by polly::applyFullUnroll(), copy(), graft_after(), and graft_before().

◆ root()

isl::schedule_node isl::schedule_node::root ( ) const
inline

Definition at line 17780 of file isl-noexceptions.h.

References copy(), isl_schedule_node_root(), manage, and res.

Referenced by copy().

◆ schedule()

isl::schedule isl::schedule_node::schedule ( ) const
inline

Definition at line 17786 of file isl-noexceptions.h.

References get(), isl_schedule_node_get_schedule(), manage, and res.

Referenced by copy(), get_schedule(), and insert_partial_schedule().

◆ schedule_depth()

class size isl::schedule_node::schedule_depth ( ) const
inline

◆ shared_ancestor()

isl::schedule_node isl::schedule_node::shared_ancestor ( const isl::schedule_node & node2) const
inline

Definition at line 17808 of file isl-noexceptions.h.

References get(), isl_schedule_node_get_shared_ancestor(), manage, and res.

Referenced by copy(), and get_shared_ancestor().

◆ tree_depth()

class size isl::schedule_node::tree_depth ( ) const
inline

◆ universe_domain()

isl::union_set isl::schedule_node::universe_domain ( ) const
inline

Definition at line 17830 of file isl-noexceptions.h.

References get(), isl_schedule_node_get_universe_domain(), manage, and res.

Referenced by copy(), and get_universe_domain().

◆ manage

schedule_node manage ( __isl_take isl_schedule_node * ptr)
friend

Definition at line 17414 of file isl-noexceptions.h.

References __isl_take, ptr, and schedule_node().

Referenced by ancestor(), ancestor_child_position(), isl::schedule_node_band::ast_build_options(), isl::schedule_node_band::ast_isolate_option(), child(), child_position(), isl::schedule_node_context::context(), isl::schedule_node_expansion::contraction(), domain(), isl::schedule_node_domain::domain(), every_descendant(), isl::schedule_node_expansion::expansion(), isl::schedule_node_extension::extension(), isl::schedule_node_filter::filter(), first_child(), foreach_ancestor_top_down(), foreach_descendant_top_down(), from_domain(), from_extension(), graft_after(), graft_before(), isl::schedule_node_guard::guard(), has_children(), has_next_sibling(), has_parent(), has_previous_sibling(), isl::schedule_node_mark::id(), insert_context(), insert_filter(), insert_guard(), insert_mark(), insert_partial_schedule(), insert_sequence(), insert_set(), is_equal(), is_subtree_anchored(), map_descendant_bottom_up(), isl::schedule_node_band::member_get_coincident(), isl::schedule_node_band::member_set_ast_loop_atomic(), isl::schedule_node_band::member_set_ast_loop_default(), isl::schedule_node_band::member_set_ast_loop_separate(), isl::schedule_node_band::member_set_ast_loop_unroll(), isl::schedule_node_band::member_set_coincident(), isl::schedule_node_band::mod(), next_sibling(), order_after(), order_before(), parent(), isl::schedule_node_band::partial_schedule(), isl::schedule_node_band::permutable(), prefix_schedule_multi_union_pw_aff(), prefix_schedule_relation(), prefix_schedule_union_map(), prefix_schedule_union_pw_multi_aff(), previous_sibling(), root(), isl::schedule_node_band::scale(), isl::schedule_node_band::scale_down(), schedule(), isl::schedule_node_band::set_ast_build_options(), isl::schedule_node_band::set_permutable(), shared_ancestor(), isl::schedule_node_band::shift(), isl::schedule_node_band::split(), isl::schedule_node_band::tile(), and universe_domain().

◆ manage_copy

Member Data Documentation

◆ ptr


The documentation for this class was generated from the following file: