Polly 19.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
isl::schedule_node Class Reference

#include <isl-noexceptions.h>

Inheritance diagram for isl::schedule_node:
Inheritance graph
[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.

◆ schedule_node() [2/3]

isl::schedule_node::schedule_node ( )
inline

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

◆ 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, and ptr.

◆ ~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()

template<class T >
T isl::schedule_node::as
inline

◆ child()

isl::schedule_node isl::schedule_node::child ( int  pos) const
inline

◆ 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 get_child_position().

◆ copy() [1/2]

__isl_give isl_schedule_node * isl::schedule_node::copy ( ) &&
inlinedelete

◆ copy() [2/2]

__isl_give isl_schedule_node * isl::schedule_node::copy ( ) const &
inline

◆ 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 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 test_schedule_tree().

◆ 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

◆ foreach_descendant_top_down()

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

◆ from_domain()

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

◆ from_extension()

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

◆ get()

__isl_keep isl_schedule_node * isl::schedule_node::get ( ) const
inline

◆ 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().

◆ 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().

◆ 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(), and polly::applyMaxFission().

◆ 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().

◆ 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().

◆ 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().

◆ 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().

◆ 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.

◆ 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().

◆ get_tree_depth()

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

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

◆ 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().

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ insert_filter()

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

◆ 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.

◆ 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()

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

◆ insert_set()

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

◆ 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.

◆ is_null()

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

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

References ptr.

Referenced by isa_type(), and polly::ScheduleTreeVisitor< Derived, RetTy, Args >::visit().

◆ 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.

◆ isa()

template<class T >
boolean isl::schedule_node::isa
inline

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

◆ isa_type()

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

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

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

◆ 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 test_ast_build_unroll().

◆ 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.

◆ order_after()

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

◆ order_before()

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

◆ 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.

◆ release()

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

◆ 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.

◆ 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 get_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 get_shared_ancestor().

◆ tree_depth()

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

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

References isl_schedule_node_get_tree_depth(), isl::size::manage, and res.

◆ 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 get_universe_domain().

Friends And Related Function Documentation

◆ manage

schedule_node manage ( __isl_take isl_schedule_node ptr)
friend

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

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

schedule_node manage_copy ( __isl_keep isl_schedule_node ptr)
friend

Member Data Documentation

◆ ptr

isl_schedule_node* isl::schedule_node::ptr = nullptr
protected

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