Polly 19.0.0git
Macros | Functions
isl_schedule_tree.c File Reference
#include <isl/id.h>
#include <isl/val.h>
#include <isl/space.h>
#include <isl/map.h>
#include <isl_schedule_band.h>
#include <isl_schedule_private.h>
#include <isl_list_templ.h>
#include <isl_list_templ.c>
#include "print_yaml_field_templ.c"

Go to the source code of this file.

Macros

#define EL   isl_schedule_tree
 
#define EL_BASE   schedule_tree
 
#define BASE   str
 
#define isl_str   const char
 
#define BASE   set
 
#define BASE   union_set
 
#define BASE   union_map
 
#define BASE   union_pw_multi_aff
 

Functions

int isl_schedule_tree_is_leaf (__isl_keep isl_schedule_tree *tree)
 
static __isl_give isl_schedule_treeisl_schedule_tree_alloc (isl_ctx *ctx, enum isl_schedule_node_type type)
 
__isl_give isl_schedule_treeisl_schedule_tree_dup (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_cow (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_copy (__isl_keep isl_schedule_tree *tree)
 
__isl_null isl_schedule_treeisl_schedule_tree_free (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_leaf (isl_ctx *ctx)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_band (__isl_take isl_schedule_band *band)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_context (__isl_take isl_set *context)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_domain (__isl_take isl_union_set *domain)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_expansion (__isl_take isl_union_pw_multi_aff *contraction, __isl_take isl_union_map *expansion)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_extension (__isl_take isl_union_map *extension)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_filter (__isl_take isl_union_set *filter)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_guard (__isl_take isl_set *guard)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_mark (__isl_take isl_id *mark)
 
isl_bool isl_schedule_tree_is_subtree_anchored (__isl_keep isl_schedule_tree *tree)
 
int isl_schedule_tree_is_anchored (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_update_anchored (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_children (enum isl_schedule_node_type type, __isl_take isl_schedule_tree_list *list)
 
__isl_give isl_schedule_treeisl_schedule_tree_from_pair (enum isl_schedule_node_type type, __isl_take isl_schedule_tree *tree1, __isl_take isl_schedule_tree *tree2)
 
__isl_give isl_schedule_treeisl_schedule_tree_sequence_pair (__isl_take isl_schedule_tree *tree1, __isl_take isl_schedule_tree *tree2)
 
__isl_give isl_schedule_treeisl_schedule_tree_set_pair (__isl_take isl_schedule_tree *tree1, __isl_take isl_schedule_tree *tree2)
 
isl_ctxisl_schedule_tree_get_ctx (__isl_keep isl_schedule_tree *tree)
 
enum isl_schedule_node_type isl_schedule_tree_get_type (__isl_keep isl_schedule_tree *tree)
 
isl_bool isl_schedule_tree_plain_is_equal (__isl_keep isl_schedule_tree *tree1, __isl_keep isl_schedule_tree *tree2)
 
int isl_schedule_tree_has_children (__isl_keep isl_schedule_tree *tree)
 
isl_size isl_schedule_tree_n_children (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_get_child (__isl_keep isl_schedule_tree *tree, int pos)
 
__isl_give isl_schedule_treeisl_schedule_tree_child (__isl_take isl_schedule_tree *tree, int pos)
 
__isl_give isl_schedule_treeisl_schedule_tree_reset_children (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_drop_child (__isl_take isl_schedule_tree *tree, int pos)
 
__isl_give isl_schedule_treeisl_schedule_tree_replace_child (__isl_take isl_schedule_tree *tree, int pos, __isl_take isl_schedule_tree *child)
 
__isl_give isl_schedule_treeisl_schedule_tree_set_children (__isl_take isl_schedule_tree *tree, __isl_take isl_schedule_tree_list *children)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_band (__isl_take isl_schedule_tree *tree, __isl_take isl_schedule_band *band)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_context (__isl_take isl_schedule_tree *tree, __isl_take isl_set *context)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_domain (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *domain)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_expansion (__isl_take isl_schedule_tree *tree, __isl_take isl_union_pw_multi_aff *contraction, __isl_take isl_union_map *expansion)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_extension (__isl_take isl_schedule_tree *tree, __isl_take isl_union_map *extension)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_filter (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *filter)
 
__isl_give isl_schedule_treeisl_schedule_tree_children_insert_filter (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *filter)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_guard (__isl_take isl_schedule_tree *tree, __isl_take isl_set *guard)
 
__isl_give isl_schedule_treeisl_schedule_tree_insert_mark (__isl_take isl_schedule_tree *tree, __isl_take isl_id *mark)
 
isl_size isl_schedule_tree_band_n_member (__isl_keep isl_schedule_tree *tree)
 
isl_bool isl_schedule_tree_band_member_get_coincident (__isl_keep isl_schedule_tree *tree, int pos)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_member_set_coincident (__isl_take isl_schedule_tree *tree, int pos, int coincident)
 
isl_bool isl_schedule_tree_band_get_permutable (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_set_permutable (__isl_take isl_schedule_tree *tree, int permutable)
 
__isl_give isl_spaceisl_schedule_tree_band_get_space (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_intersect_domain (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *domain)
 
__isl_give isl_multi_union_pw_affisl_schedule_tree_band_get_partial_schedule (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_set_partial_schedule (__isl_take isl_schedule_tree *tree, __isl_take isl_multi_union_pw_aff *schedule)
 
enum isl_ast_loop_type isl_schedule_tree_band_member_get_ast_loop_type (__isl_keep isl_schedule_tree *tree, int pos)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_member_set_ast_loop_type (__isl_take isl_schedule_tree *tree, int pos, enum isl_ast_loop_type type)
 
enum isl_ast_loop_type isl_schedule_tree_band_member_get_isolate_ast_loop_type (__isl_keep isl_schedule_tree *tree, int pos)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_member_set_isolate_ast_loop_type (__isl_take isl_schedule_tree *tree, int pos, enum isl_ast_loop_type type)
 
__isl_give isl_union_setisl_schedule_tree_band_get_ast_build_options (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_set_ast_build_options (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *options)
 
__isl_give isl_setisl_schedule_tree_band_get_ast_isolate_option (__isl_keep isl_schedule_tree *tree, int depth)
 
__isl_give isl_setisl_schedule_tree_context_get_context (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_union_setisl_schedule_tree_domain_get_domain (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_domain_set_domain (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *domain)
 
__isl_give isl_union_pw_multi_affisl_schedule_tree_expansion_get_contraction (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_union_mapisl_schedule_tree_expansion_get_expansion (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_expansion_set_contraction_and_expansion (__isl_take isl_schedule_tree *tree, __isl_take isl_union_pw_multi_aff *contraction, __isl_take isl_union_map *expansion)
 
__isl_give isl_union_mapisl_schedule_tree_extension_get_extension (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_extension_set_extension (__isl_take isl_schedule_tree *tree, __isl_take isl_union_map *extension)
 
__isl_give isl_union_setisl_schedule_tree_filter_get_filter (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_filter_set_filter (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *filter)
 
__isl_give isl_setisl_schedule_tree_guard_get_guard (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_idisl_schedule_tree_mark_get_id (__isl_keep isl_schedule_tree *tree)
 
static isl_stat set_range_dim (__isl_take isl_map *map, void *user)
 
static isl_size range_dim (__isl_keep isl_union_map *umap)
 
static __isl_give isl_union_mapappend_range (__isl_take isl_union_map *umap, int extra)
 
static isl_bool domain_less (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_first_schedule_descendant (__isl_take isl_schedule_tree *tree, __isl_keep isl_schedule_tree *leaf)
 
static __isl_give isl_union_mapsubtree_schedule_extend (__isl_keep isl_schedule_tree *tree, __isl_take isl_union_map *outer)
 
static __isl_give isl_union_mapsubtree_schedule_extend_child (__isl_keep isl_schedule_tree *tree, __isl_take isl_union_map *outer)
 
static __isl_give isl_spaceextract_space_from_filter_child (__isl_keep isl_schedule_tree *tree)
 
static __isl_give isl_union_mapsubtree_schedule_extend_from_children (__isl_keep isl_schedule_tree *tree, __isl_take isl_union_map *outer)
 
static __isl_give isl_union_setinitial_domain (__isl_keep isl_schedule_tree *tree)
 
static __isl_give isl_union_setinitial_domain_from_children (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_union_mapisl_schedule_tree_get_subtree_schedule_union_map (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_scale (__isl_take isl_schedule_tree *tree, __isl_take isl_multi_val *mv)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_scale_down (__isl_take isl_schedule_tree *tree, __isl_take isl_multi_val *mv)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_mod (__isl_take isl_schedule_tree *tree, __isl_take isl_multi_val *mv)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_shift (__isl_take isl_schedule_tree *tree, __isl_take isl_multi_union_pw_aff *shift)
 
__isl_give isl_schedule_treeisl_schedule_tree_sequence_splice (__isl_take isl_schedule_tree *tree, int pos, __isl_take isl_schedule_tree *child)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_tile (__isl_take isl_schedule_tree *tree, __isl_take isl_multi_val *sizes)
 
static __isl_give isl_setisolate_initial (__isl_keep isl_set *isolate, int pos, int n)
 
static __isl_give isl_setisolate_final (__isl_keep isl_set *isolate, int pos, int n)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_split (__isl_take isl_schedule_tree *tree, int pos, int depth)
 
__isl_give isl_schedule_treeisl_schedule_tree_append_to_leaves (__isl_take isl_schedule_tree *tree1, __isl_take isl_schedule_tree *tree2)
 
__isl_give isl_schedule_treeisl_schedule_tree_reset_user (__isl_take isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_align_params (__isl_take isl_schedule_tree *tree, __isl_take isl_space *space)
 
static int involves_iteration_domain (__isl_keep isl_schedule_tree *tree)
 
__isl_give isl_schedule_treeisl_schedule_tree_pullback_union_pw_multi_aff (__isl_take isl_schedule_tree *tree, __isl_take isl_union_pw_multi_aff *upma)
 
__isl_give isl_schedule_treeisl_schedule_tree_band_gist (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *context)
 
static isl_bool any_coincident (__isl_keep isl_schedule_band *band)
 
static __isl_give isl_printerprint_tree_band (__isl_take isl_printer *p, __isl_keep isl_schedule_band *band)
 
__isl_give isl_printerisl_printer_print_schedule_tree_mark (__isl_take isl_printer *p, __isl_keep isl_schedule_tree *tree, int n_ancestor, int *child_pos)
 
__isl_give isl_printerisl_printer_print_schedule_tree (__isl_take isl_printer *p, __isl_keep isl_schedule_tree *tree)
 
void isl_schedule_tree_dump (__isl_keep isl_schedule_tree *tree)
 

Macro Definition Documentation

◆ BASE [1/5]

#define BASE   str

Definition at line 2757 of file isl_schedule_tree.c.

◆ BASE [2/5]

#define BASE   set

Definition at line 2757 of file isl_schedule_tree.c.

◆ BASE [3/5]

#define BASE   union_set

Definition at line 2757 of file isl_schedule_tree.c.

◆ BASE [4/5]

#define BASE   union_map

Definition at line 2757 of file isl_schedule_tree.c.

◆ BASE [5/5]

#define BASE   union_pw_multi_aff

Definition at line 2757 of file isl_schedule_tree.c.

◆ EL

#define EL   isl_schedule_tree

Definition at line 24 of file isl_schedule_tree.c.

◆ EL_BASE

#define EL_BASE   schedule_tree

Definition at line 29 of file isl_schedule_tree.c.

◆ isl_str

#define isl_str   const char

Definition at line 2741 of file isl_schedule_tree.c.

Function Documentation

◆ any_coincident()

static isl_bool any_coincident ( __isl_keep isl_schedule_band band)
static

◆ append_range()

static __isl_give isl_union_map * append_range ( __isl_take isl_union_map umap,
int  extra 
)
static

◆ domain_less()

static isl_bool domain_less ( __isl_keep isl_schedule_tree tree)
static

◆ extract_space_from_filter_child()

static __isl_give isl_space * extract_space_from_filter_child ( __isl_keep isl_schedule_tree tree)
static

◆ initial_domain()

static __isl_give isl_union_set * initial_domain ( __isl_keep isl_schedule_tree tree)
static

◆ initial_domain_from_children()

static __isl_give isl_union_set * initial_domain_from_children ( __isl_keep isl_schedule_tree tree)
static

◆ involves_iteration_domain()

static int involves_iteration_domain ( __isl_keep isl_schedule_tree tree)
static

◆ isl_printer_print_schedule_tree()

__isl_give isl_printer * isl_printer_print_schedule_tree ( __isl_take isl_printer p,
__isl_keep isl_schedule_tree tree 
)

◆ isl_printer_print_schedule_tree_mark()

__isl_give isl_printer * isl_printer_print_schedule_tree_mark ( __isl_take isl_printer p,
__isl_keep isl_schedule_tree tree,
int  n_ancestor,
int *  child_pos 
)

◆ isl_schedule_tree_align_params()

__isl_give isl_schedule_tree * isl_schedule_tree_align_params ( __isl_take isl_schedule_tree tree,
__isl_take isl_space space 
)

◆ isl_schedule_tree_alloc()

static __isl_give isl_schedule_tree * isl_schedule_tree_alloc ( isl_ctx ctx,
enum isl_schedule_node_type  type 
)
static

◆ isl_schedule_tree_append_to_leaves()

__isl_give isl_schedule_tree * isl_schedule_tree_append_to_leaves ( __isl_take isl_schedule_tree tree1,
__isl_take isl_schedule_tree tree2 
)

◆ isl_schedule_tree_band_get_ast_build_options()

__isl_give isl_union_set * isl_schedule_tree_band_get_ast_build_options ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_band_get_ast_isolate_option()

__isl_give isl_set * isl_schedule_tree_band_get_ast_isolate_option ( __isl_keep isl_schedule_tree tree,
int  depth 
)

◆ isl_schedule_tree_band_get_partial_schedule()

__isl_give isl_multi_union_pw_aff * isl_schedule_tree_band_get_partial_schedule ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_band_get_permutable()

isl_bool isl_schedule_tree_band_get_permutable ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_band_get_space()

__isl_give isl_space * isl_schedule_tree_band_get_space ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_band_gist()

__isl_give isl_schedule_tree * isl_schedule_tree_band_gist ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set context 
)

◆ isl_schedule_tree_band_intersect_domain()

__isl_give isl_schedule_tree * isl_schedule_tree_band_intersect_domain ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set domain 
)

◆ isl_schedule_tree_band_member_get_ast_loop_type()

enum isl_ast_loop_type isl_schedule_tree_band_member_get_ast_loop_type ( __isl_keep isl_schedule_tree tree,
int  pos 
)

◆ isl_schedule_tree_band_member_get_coincident()

isl_bool isl_schedule_tree_band_member_get_coincident ( __isl_keep isl_schedule_tree tree,
int  pos 
)

◆ isl_schedule_tree_band_member_get_isolate_ast_loop_type()

enum isl_ast_loop_type isl_schedule_tree_band_member_get_isolate_ast_loop_type ( __isl_keep isl_schedule_tree tree,
int  pos 
)

◆ isl_schedule_tree_band_member_set_ast_loop_type()

__isl_give isl_schedule_tree * isl_schedule_tree_band_member_set_ast_loop_type ( __isl_take isl_schedule_tree tree,
int  pos,
enum isl_ast_loop_type  type 
)

◆ isl_schedule_tree_band_member_set_coincident()

__isl_give isl_schedule_tree * isl_schedule_tree_band_member_set_coincident ( __isl_take isl_schedule_tree tree,
int  pos,
int  coincident 
)

◆ isl_schedule_tree_band_member_set_isolate_ast_loop_type()

__isl_give isl_schedule_tree * isl_schedule_tree_band_member_set_isolate_ast_loop_type ( __isl_take isl_schedule_tree tree,
int  pos,
enum isl_ast_loop_type  type 
)

◆ isl_schedule_tree_band_mod()

__isl_give isl_schedule_tree * isl_schedule_tree_band_mod ( __isl_take isl_schedule_tree tree,
__isl_take isl_multi_val mv 
)

◆ isl_schedule_tree_band_n_member()

isl_size isl_schedule_tree_band_n_member ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_band_scale()

__isl_give isl_schedule_tree * isl_schedule_tree_band_scale ( __isl_take isl_schedule_tree tree,
__isl_take isl_multi_val mv 
)

◆ isl_schedule_tree_band_scale_down()

__isl_give isl_schedule_tree * isl_schedule_tree_band_scale_down ( __isl_take isl_schedule_tree tree,
__isl_take isl_multi_val mv 
)

◆ isl_schedule_tree_band_set_ast_build_options()

__isl_give isl_schedule_tree * isl_schedule_tree_band_set_ast_build_options ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set options 
)

◆ isl_schedule_tree_band_set_partial_schedule()

__isl_give isl_schedule_tree * isl_schedule_tree_band_set_partial_schedule ( __isl_take isl_schedule_tree tree,
__isl_take isl_multi_union_pw_aff schedule 
)

◆ isl_schedule_tree_band_set_permutable()

__isl_give isl_schedule_tree * isl_schedule_tree_band_set_permutable ( __isl_take isl_schedule_tree tree,
int  permutable 
)

◆ isl_schedule_tree_band_shift()

__isl_give isl_schedule_tree * isl_schedule_tree_band_shift ( __isl_take isl_schedule_tree tree,
__isl_take isl_multi_union_pw_aff shift 
)

◆ isl_schedule_tree_band_split()

__isl_give isl_schedule_tree * isl_schedule_tree_band_split ( __isl_take isl_schedule_tree tree,
int  pos,
int  depth 
)

◆ isl_schedule_tree_band_tile()

__isl_give isl_schedule_tree * isl_schedule_tree_band_tile ( __isl_take isl_schedule_tree tree,
__isl_take isl_multi_val sizes 
)

◆ isl_schedule_tree_child()

__isl_give isl_schedule_tree * isl_schedule_tree_child ( __isl_take isl_schedule_tree tree,
int  pos 
)

◆ isl_schedule_tree_children_insert_filter()

__isl_give isl_schedule_tree * isl_schedule_tree_children_insert_filter ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set filter 
)

◆ isl_schedule_tree_context_get_context()

__isl_give isl_set * isl_schedule_tree_context_get_context ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_copy()

__isl_give isl_schedule_tree * isl_schedule_tree_copy ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_cow()

__isl_give isl_schedule_tree * isl_schedule_tree_cow ( __isl_take isl_schedule_tree tree)

◆ isl_schedule_tree_domain_get_domain()

__isl_give isl_union_set * isl_schedule_tree_domain_get_domain ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_domain_set_domain()

__isl_give isl_schedule_tree * isl_schedule_tree_domain_set_domain ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set domain 
)

◆ isl_schedule_tree_drop_child()

__isl_give isl_schedule_tree * isl_schedule_tree_drop_child ( __isl_take isl_schedule_tree tree,
int  pos 
)

◆ isl_schedule_tree_dump()

void isl_schedule_tree_dump ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_dup()

__isl_give isl_schedule_tree * isl_schedule_tree_dup ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_expansion_get_contraction()

__isl_give isl_union_pw_multi_aff * isl_schedule_tree_expansion_get_contraction ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_expansion_get_expansion()

__isl_give isl_union_map * isl_schedule_tree_expansion_get_expansion ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_expansion_set_contraction_and_expansion()

__isl_give isl_schedule_tree * isl_schedule_tree_expansion_set_contraction_and_expansion ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_pw_multi_aff contraction,
__isl_take isl_union_map expansion 
)

◆ isl_schedule_tree_extension_get_extension()

__isl_give isl_union_map * isl_schedule_tree_extension_get_extension ( __isl_take isl_schedule_tree tree)

◆ isl_schedule_tree_extension_set_extension()

__isl_give isl_schedule_tree * isl_schedule_tree_extension_set_extension ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_map extension 
)

◆ isl_schedule_tree_filter_get_filter()

__isl_give isl_union_set * isl_schedule_tree_filter_get_filter ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_filter_set_filter()

__isl_give isl_schedule_tree * isl_schedule_tree_filter_set_filter ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set filter 
)

◆ isl_schedule_tree_first_schedule_descendant()

__isl_give isl_schedule_tree * isl_schedule_tree_first_schedule_descendant ( __isl_take isl_schedule_tree tree,
__isl_keep isl_schedule_tree leaf 
)

◆ isl_schedule_tree_free()

__isl_null isl_schedule_tree * isl_schedule_tree_free ( __isl_take isl_schedule_tree tree)

Definition at line 176 of file isl_schedule_tree.c.

References isl_ctx_deref(), isl_id_free(), isl_schedule_band_free(), isl_schedule_node_band, isl_schedule_node_context, isl_schedule_node_domain, isl_schedule_node_error, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_set_free(), isl_union_map_free(), isl_union_pw_multi_aff_free(), isl_union_set_free(), and tree.

Referenced by collect_filter_prefix(), collect_filter_prefix_expansion(), collect_universe_domain_extension(), extract_space_from_filter_child(), gist_leave(), group_ancestor(), group_band(), group_context(), group_domain(), group_expansion(), has_ancestors(), initial_domain_from_children(), insert_filter_in_child_of_type(), isl_printer_print_schedule_tree_mark(), isl_schedule_free(), isl_schedule_from_schedule_tree(), isl_schedule_node_alloc(), isl_schedule_node_ancestor(), isl_schedule_node_child(), isl_schedule_node_delete(), isl_schedule_node_expand(), isl_schedule_node_free(), isl_schedule_node_get_ancestor_child_position(), isl_schedule_node_get_parent_type(), isl_schedule_node_get_schedule_depth(), isl_schedule_node_get_subtree_schedule_union_map(), isl_schedule_node_graft_tree(), isl_schedule_node_has_next_sibling(), isl_schedule_node_next_sibling(), isl_schedule_node_previous_sibling(), isl_schedule_node_sequence_splice(), isl_schedule_set_root(), isl_schedule_tree_align_params(), isl_schedule_tree_append_to_leaves(), isl_schedule_tree_band_gist(), isl_schedule_tree_band_intersect_domain(), isl_schedule_tree_band_member_set_ast_loop_type(), isl_schedule_tree_band_member_set_coincident(), isl_schedule_tree_band_member_set_isolate_ast_loop_type(), isl_schedule_tree_band_mod(), isl_schedule_tree_band_scale(), isl_schedule_tree_band_scale_down(), isl_schedule_tree_band_set_ast_build_options(), isl_schedule_tree_band_set_partial_schedule(), isl_schedule_tree_band_set_permutable(), isl_schedule_tree_band_shift(), isl_schedule_tree_band_split(), isl_schedule_tree_band_tile(), isl_schedule_tree_child(), isl_schedule_tree_children_insert_filter(), isl_schedule_tree_domain_set_domain(), isl_schedule_tree_drop_child(), isl_schedule_tree_dup(), isl_schedule_tree_expansion_set_contraction_and_expansion(), isl_schedule_tree_extension_set_extension(), isl_schedule_tree_filter_set_filter(), isl_schedule_tree_first_schedule_descendant(), isl_schedule_tree_from_pair(), isl_schedule_tree_plain_is_equal(), isl_schedule_tree_pullback_union_pw_multi_aff(), isl_schedule_tree_replace_child(), isl_schedule_tree_reset_user(), isl_schedule_tree_sequence_splice(), isl_schedule_tree_set_children(), isl_schedule_tree_update_anchored(), isl_stream_read_schedule_tree(), read_band(), read_expansion(), subtree_schedule_extend_child(), subtree_schedule_extend_from_children(), and update_ancestors().

◆ isl_schedule_tree_from_band()

__isl_give isl_schedule_tree * isl_schedule_tree_from_band ( __isl_take isl_schedule_band band)

◆ isl_schedule_tree_from_children()

__isl_give isl_schedule_tree * isl_schedule_tree_from_children ( enum isl_schedule_node_type  type,
__isl_take isl_schedule_tree_list *  list 
)

◆ isl_schedule_tree_from_context()

__isl_give isl_schedule_tree * isl_schedule_tree_from_context ( __isl_take isl_set context)

◆ isl_schedule_tree_from_domain()

__isl_give isl_schedule_tree * isl_schedule_tree_from_domain ( __isl_take isl_union_set domain)

◆ isl_schedule_tree_from_expansion()

__isl_give isl_schedule_tree * isl_schedule_tree_from_expansion ( __isl_take isl_union_pw_multi_aff contraction,
__isl_take isl_union_map expansion 
)

◆ isl_schedule_tree_from_extension()

__isl_give isl_schedule_tree * isl_schedule_tree_from_extension ( __isl_take isl_union_map extension)

◆ isl_schedule_tree_from_filter()

__isl_give isl_schedule_tree * isl_schedule_tree_from_filter ( __isl_take isl_union_set filter)

◆ isl_schedule_tree_from_guard()

__isl_give isl_schedule_tree * isl_schedule_tree_from_guard ( __isl_take isl_set guard)

◆ isl_schedule_tree_from_mark()

__isl_give isl_schedule_tree * isl_schedule_tree_from_mark ( __isl_take isl_id mark)

◆ isl_schedule_tree_from_pair()

__isl_give isl_schedule_tree * isl_schedule_tree_from_pair ( enum isl_schedule_node_type  type,
__isl_take isl_schedule_tree tree1,
__isl_take isl_schedule_tree tree2 
)

◆ isl_schedule_tree_get_child()

__isl_give isl_schedule_tree * isl_schedule_tree_get_child ( __isl_keep isl_schedule_tree tree,
int  pos 
)

◆ isl_schedule_tree_get_ctx()

isl_ctx * isl_schedule_tree_get_ctx ( __isl_keep isl_schedule_tree tree)

Definition at line 612 of file isl_schedule_tree.c.

References tree.

Referenced by collect_filter_prefix_init(), collect_filter_prefix_update(), domain_less(), group_ancestor(), group_domain(), group_expansion(), initial_domain(), initial_domain_from_children(), involves_iteration_domain(), isl_schedule_from_schedule_tree(), isl_schedule_get_ctx(), isl_schedule_tree_band_get_ast_build_options(), isl_schedule_tree_band_get_ast_isolate_option(), isl_schedule_tree_band_get_partial_schedule(), isl_schedule_tree_band_get_permutable(), isl_schedule_tree_band_get_space(), isl_schedule_tree_band_gist(), isl_schedule_tree_band_intersect_domain(), isl_schedule_tree_band_member_get_ast_loop_type(), isl_schedule_tree_band_member_get_coincident(), isl_schedule_tree_band_member_get_isolate_ast_loop_type(), isl_schedule_tree_band_member_set_ast_loop_type(), isl_schedule_tree_band_member_set_coincident(), isl_schedule_tree_band_member_set_isolate_ast_loop_type(), isl_schedule_tree_band_mod(), isl_schedule_tree_band_n_member(), isl_schedule_tree_band_scale(), isl_schedule_tree_band_scale_down(), isl_schedule_tree_band_set_ast_build_options(), isl_schedule_tree_band_set_partial_schedule(), isl_schedule_tree_band_set_permutable(), isl_schedule_tree_band_shift(), isl_schedule_tree_band_split(), isl_schedule_tree_band_tile(), isl_schedule_tree_context_get_context(), isl_schedule_tree_domain_get_domain(), isl_schedule_tree_domain_set_domain(), isl_schedule_tree_drop_child(), isl_schedule_tree_dump(), isl_schedule_tree_dup(), isl_schedule_tree_expansion_get_contraction(), isl_schedule_tree_expansion_get_expansion(), isl_schedule_tree_expansion_set_contraction_and_expansion(), isl_schedule_tree_extension_get_extension(), isl_schedule_tree_extension_set_extension(), isl_schedule_tree_filter_get_filter(), isl_schedule_tree_filter_set_filter(), isl_schedule_tree_from_pair(), isl_schedule_tree_get_child(), isl_schedule_tree_guard_get_guard(), isl_schedule_tree_is_anchored(), isl_schedule_tree_mark_get_id(), isl_schedule_tree_pullback_union_pw_multi_aff(), isl_schedule_tree_replace_child(), isl_schedule_tree_sequence_splice(), subtree_schedule_extend(), and subtree_schedule_extend_from_children().

◆ isl_schedule_tree_get_subtree_schedule_union_map()

__isl_give isl_union_map * isl_schedule_tree_get_subtree_schedule_union_map ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_get_type()

enum isl_schedule_node_type isl_schedule_tree_get_type ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_guard_get_guard()

__isl_give isl_set * isl_schedule_tree_guard_get_guard ( __isl_take isl_schedule_tree tree)

◆ isl_schedule_tree_has_children()

int isl_schedule_tree_has_children ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_insert_band()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_band ( __isl_take isl_schedule_tree tree,
__isl_take isl_schedule_band band 
)

◆ isl_schedule_tree_insert_context()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_context ( __isl_take isl_schedule_tree tree,
__isl_take isl_set context 
)

◆ isl_schedule_tree_insert_domain()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_domain ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set domain 
)

◆ isl_schedule_tree_insert_expansion()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_expansion ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_pw_multi_aff contraction,
__isl_take isl_union_map expansion 
)

◆ isl_schedule_tree_insert_extension()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_extension ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_map extension 
)

◆ isl_schedule_tree_insert_filter()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_filter ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_set filter 
)

◆ isl_schedule_tree_insert_guard()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_guard ( __isl_take isl_schedule_tree tree,
__isl_take isl_set guard 
)

◆ isl_schedule_tree_insert_mark()

__isl_give isl_schedule_tree * isl_schedule_tree_insert_mark ( __isl_take isl_schedule_tree tree,
__isl_take isl_id mark 
)

◆ isl_schedule_tree_is_anchored()

int isl_schedule_tree_is_anchored ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_is_leaf()

int isl_schedule_tree_is_leaf ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_is_subtree_anchored()

isl_bool isl_schedule_tree_is_subtree_anchored ( __isl_keep isl_schedule_tree tree)

Definition at line 442 of file isl_schedule_tree.c.

References isl_bool_error, isl_bool_ok(), and tree.

Referenced by isl_schedule_node_is_subtree_anchored().

◆ isl_schedule_tree_leaf()

__isl_give isl_schedule_tree * isl_schedule_tree_leaf ( isl_ctx ctx)

◆ isl_schedule_tree_mark_get_id()

__isl_give isl_id * isl_schedule_tree_mark_get_id ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_n_children()

isl_size isl_schedule_tree_n_children ( __isl_keep isl_schedule_tree tree)

◆ isl_schedule_tree_plain_is_equal()

isl_bool isl_schedule_tree_plain_is_equal ( __isl_keep isl_schedule_tree tree1,
__isl_keep isl_schedule_tree tree2 
)

◆ isl_schedule_tree_pullback_union_pw_multi_aff()

__isl_give isl_schedule_tree * isl_schedule_tree_pullback_union_pw_multi_aff ( __isl_take isl_schedule_tree tree,
__isl_take isl_union_pw_multi_aff upma 
)

◆ isl_schedule_tree_replace_child()

__isl_give isl_schedule_tree * isl_schedule_tree_replace_child ( __isl_take isl_schedule_tree tree,
int  pos,
__isl_take isl_schedule_tree child 
)

◆ isl_schedule_tree_reset_children()

__isl_give isl_schedule_tree * isl_schedule_tree_reset_children ( __isl_take isl_schedule_tree tree)

◆ isl_schedule_tree_reset_user()

__isl_give isl_schedule_tree * isl_schedule_tree_reset_user ( __isl_take isl_schedule_tree tree)

◆ isl_schedule_tree_sequence_pair()

__isl_give isl_schedule_tree * isl_schedule_tree_sequence_pair ( __isl_take isl_schedule_tree tree1,
__isl_take isl_schedule_tree tree2 
)

◆ isl_schedule_tree_sequence_splice()

__isl_give isl_schedule_tree * isl_schedule_tree_sequence_splice ( __isl_take isl_schedule_tree tree,
int  pos,
__isl_take isl_schedule_tree child 
)

◆ isl_schedule_tree_set_children()

__isl_give isl_schedule_tree * isl_schedule_tree_set_children ( __isl_take isl_schedule_tree tree,
__isl_take isl_schedule_tree_list *  children 
)

◆ isl_schedule_tree_set_pair()

__isl_give isl_schedule_tree * isl_schedule_tree_set_pair ( __isl_take isl_schedule_tree tree1,
__isl_take isl_schedule_tree tree2 
)

Definition at line 603 of file isl_schedule_tree.c.

References isl_schedule_node_set, and isl_schedule_tree_from_pair().

Referenced by expand().

◆ isl_schedule_tree_update_anchored()

__isl_give isl_schedule_tree * isl_schedule_tree_update_anchored ( __isl_take isl_schedule_tree tree)

◆ isolate_final()

static __isl_give isl_set * isolate_final ( __isl_keep isl_set isolate,
int  pos,
int  n 
)
static

◆ isolate_initial()

static __isl_give isl_set * isolate_initial ( __isl_keep isl_set isolate,
int  pos,
int  n 
)
static

◆ print_tree_band()

static __isl_give isl_printer * print_tree_band ( __isl_take isl_printer p,
__isl_keep isl_schedule_band band 
)
static

◆ range_dim()

static isl_size range_dim ( __isl_keep isl_union_map umap)
static

◆ set_range_dim()

static isl_stat set_range_dim ( __isl_take isl_map map,
void *  user 
)
static

Definition at line 1541 of file isl_schedule_tree.c.

References isl_dim_out, isl_map_dim(), isl_map_free(), isl_stat_error, map, and user.

Referenced by range_dim().

◆ subtree_schedule_extend()

static __isl_give isl_union_map * subtree_schedule_extend ( __isl_keep isl_schedule_tree tree,
__isl_take isl_union_map outer 
)
static

◆ subtree_schedule_extend_child()

static __isl_give isl_union_map * subtree_schedule_extend_child ( __isl_keep isl_schedule_tree tree,
__isl_take isl_union_map outer 
)
static

◆ subtree_schedule_extend_from_children()

static __isl_give isl_union_map * subtree_schedule_extend_from_children ( __isl_keep isl_schedule_tree tree,
__isl_take isl_union_map outer 
)
static