Polly 22.0.0git
isl_schedule.c File Reference
#include <isl/ctx.h>
#include <isl/val.h>
#include <isl_aff_private.h>
#include <isl/map.h>
#include <isl/set.h>
#include <isl/schedule.h>
#include <isl/schedule_node.h>
#include <isl_sort.h>
#include <isl/printer.h>
#include <isl_schedule_private.h>
#include <isl_schedule_tree.h>
#include <isl_schedule_node_private.h>
#include <print_templ_yaml.c>

Go to the source code of this file.

Macros

#define BASE   schedule

Functions

__isl_give isl_scheduleisl_schedule_from_schedule_tree (isl_ctx *ctx, __isl_take isl_schedule_tree *tree)
__isl_give isl_scheduleisl_schedule_from_domain (__isl_take isl_union_set *domain)
__isl_give isl_scheduleisl_schedule_empty (__isl_take isl_space *space)
__isl_give isl_scheduleisl_schedule_copy (__isl_keep isl_schedule *sched)
__isl_give isl_scheduleisl_schedule_cow (__isl_take isl_schedule *schedule)
__isl_null isl_scheduleisl_schedule_free (__isl_take isl_schedule *sched)
__isl_give isl_scheduleisl_schedule_set_root (__isl_take isl_schedule *schedule, __isl_take isl_schedule_tree *tree)
isl_ctxisl_schedule_get_ctx (__isl_keep isl_schedule *schedule)
__isl_keep isl_schedule_treeisl_schedule_peek_leaf (__isl_keep isl_schedule *schedule)
isl_bool isl_schedule_plain_is_equal (__isl_keep isl_schedule *schedule1, __isl_keep isl_schedule *schedule2)
__isl_give isl_spaceisl_schedule_get_space (__isl_keep isl_schedule *schedule)
__isl_give isl_schedule_nodeisl_schedule_get_root (__isl_keep isl_schedule *schedule)
__isl_give isl_union_setisl_schedule_get_domain (__isl_keep isl_schedule *schedule)
isl_stat isl_schedule_foreach_schedule_node_top_down (__isl_keep isl_schedule *sched, isl_bool(*fn)(__isl_keep isl_schedule_node *node, void *user), void *user)
__isl_give isl_scheduleisl_schedule_map_schedule_node_bottom_up (__isl_take isl_schedule *schedule, __isl_give isl_schedule_node *(*fn)(__isl_take isl_schedule_node *node, void *user), void *user)
static __isl_give isl_schedule_nodereset_user (__isl_take isl_schedule_node *node, void *user)
__isl_give isl_scheduleisl_schedule_reset_user (__isl_take isl_schedule *schedule)
static __isl_give isl_schedule_nodealign_params (__isl_take isl_schedule_node *node, void *user)
__isl_give isl_scheduleisl_schedule_align_params (__isl_take isl_schedule *schedule, __isl_take isl_space *space)
static __isl_give isl_schedule_nodepullback_upma (__isl_take isl_schedule_node *node, void *user)
__isl_give isl_scheduleisl_schedule_pullback_union_pw_multi_aff (__isl_take isl_schedule *schedule, __isl_take isl_union_pw_multi_aff *upma)
__isl_give isl_scheduleisl_schedule_expand (__isl_take isl_schedule *schedule, __isl_take isl_union_pw_multi_aff *contraction, __isl_take isl_schedule *expansion)
__isl_give isl_scheduleisl_schedule_intersect_domain (__isl_take isl_schedule *schedule, __isl_take isl_union_set *domain)
__isl_give isl_scheduleisl_schedule_gist_domain_params (__isl_take isl_schedule *schedule, __isl_take isl_set *context)
__isl_give isl_union_mapisl_schedule_get_map (__isl_keep isl_schedule *sched)
__isl_give isl_scheduleisl_schedule_insert_partial_schedule (__isl_take isl_schedule *schedule, __isl_take isl_multi_union_pw_aff *partial)
__isl_give isl_scheduleisl_schedule_insert_context (__isl_take isl_schedule *schedule, __isl_take isl_set *context)
__isl_give isl_scheduleisl_schedule_insert_guard (__isl_take isl_schedule *schedule, __isl_take isl_set *guard)
static __isl_give isl_schedule_treeinsert_filter_in_child_of_type (__isl_take isl_schedule_tree *tree, __isl_take isl_union_set *filter, enum isl_schedule_node_type type)
__isl_give isl_scheduleisl_schedule_pair (enum isl_schedule_node_type type, __isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2)
__isl_give isl_scheduleisl_schedule_sequence (__isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2)
__isl_give isl_scheduleisl_schedule_set (__isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2)
__isl_give isl_printerisl_printer_print_schedule (__isl_take isl_printer *p, __isl_keep isl_schedule *schedule)

Macro Definition Documentation

◆ BASE

#define BASE   schedule

Definition at line 683 of file isl_schedule.c.

Function Documentation

◆ align_params()

__isl_give isl_schedule_node * align_params ( __isl_take isl_schedule_node * node,
void * user )
static

◆ insert_filter_in_child_of_type()

◆ isl_printer_print_schedule()

◆ isl_schedule_align_params()

◆ isl_schedule_copy()

◆ isl_schedule_cow()

◆ isl_schedule_empty()

__isl_give isl_schedule * isl_schedule_empty ( __isl_take isl_space * space)

◆ isl_schedule_expand()

◆ isl_schedule_foreach_schedule_node_top_down()

isl_stat isl_schedule_foreach_schedule_node_top_down ( __isl_keep isl_schedule * sched,
isl_bool(* fn )(__isl_keep isl_schedule_node *node, void *user),
void * user )

◆ isl_schedule_free()

◆ isl_schedule_from_domain()

◆ isl_schedule_from_schedule_tree()

◆ isl_schedule_get_ctx()

◆ isl_schedule_get_domain()

◆ isl_schedule_get_map()

◆ isl_schedule_get_root()

◆ isl_schedule_get_space()

◆ isl_schedule_gist_domain_params()

◆ isl_schedule_insert_context()

◆ isl_schedule_insert_guard()

◆ isl_schedule_insert_partial_schedule()

◆ isl_schedule_intersect_domain()

◆ isl_schedule_map_schedule_node_bottom_up()

◆ isl_schedule_pair()

◆ isl_schedule_peek_leaf()

__isl_keep isl_schedule_tree * isl_schedule_peek_leaf ( __isl_keep isl_schedule * schedule)

Definition at line 167 of file isl_schedule.c.

References __isl_keep, and schedule.

Referenced by isl_schedule_node_peek_leaf().

◆ isl_schedule_plain_is_equal()

isl_bool isl_schedule_plain_is_equal ( __isl_keep isl_schedule * schedule1,
__isl_keep isl_schedule * schedule2 )

Definition at line 175 of file isl_schedule.c.

References __isl_keep, isl_bool_error, isl_bool_true, and isl_schedule_tree_plain_is_equal().

Referenced by main().

◆ isl_schedule_pullback_union_pw_multi_aff()

◆ isl_schedule_reset_user()

__isl_give isl_schedule * isl_schedule_reset_user ( __isl_take isl_schedule * schedule)

◆ isl_schedule_sequence()

__isl_give isl_schedule * isl_schedule_sequence ( __isl_take isl_schedule * schedule1,
__isl_take isl_schedule * schedule2 )

◆ isl_schedule_set()

__isl_give isl_schedule * isl_schedule_set ( __isl_take isl_schedule * schedule1,
__isl_take isl_schedule * schedule2 )

Definition at line 665 of file isl_schedule.c.

References __isl_give, __isl_take, isl_schedule_node_set, and isl_schedule_pair().

◆ isl_schedule_set_root()

◆ pullback_upma()

◆ reset_user()

__isl_give isl_schedule_node * reset_user ( __isl_take isl_schedule_node * node,
void * user )
static

Definition at line 292 of file isl_schedule.c.

References __isl_give, __isl_take, isl_schedule_node_reset_user(), and user.

Referenced by FN(), FN(), FN(), and isl_schedule_reset_user().