Polly 22.0.0git
isl_schedule_band.c File Reference
#include <string.h>
#include <isl/val.h>
#include <isl/space.h>
#include <isl/map.h>
#include <isl/schedule_node.h>
#include <isl_schedule_band.h>
#include <isl_schedule_private.h>

Go to the source code of this file.

Classes

struct  isl_not_data

Functions

isl_ctxisl_schedule_band_get_ctx (__isl_keep isl_schedule_band *band)
static __isl_give isl_schedule_bandisl_schedule_band_alloc (isl_ctx *ctx)
__isl_give isl_schedule_bandisl_schedule_band_from_multi_union_pw_aff (__isl_take isl_multi_union_pw_aff *mupa)
__isl_give isl_schedule_bandisl_schedule_band_dup (__isl_keep isl_schedule_band *band)
__isl_give isl_schedule_bandisl_schedule_band_cow (__isl_take isl_schedule_band *band)
__isl_give isl_schedule_bandisl_schedule_band_copy (__isl_keep isl_schedule_band *band)
__isl_null isl_schedule_bandisl_schedule_band_free (__isl_take isl_schedule_band *band)
isl_bool isl_schedule_band_plain_is_equal (__isl_keep isl_schedule_band *band1, __isl_keep isl_schedule_band *band2)
isl_size isl_schedule_band_n_member (__isl_keep isl_schedule_band *band)
isl_bool isl_schedule_band_member_get_coincident (__isl_keep isl_schedule_band *band, int pos)
__isl_give isl_schedule_bandisl_schedule_band_member_set_coincident (__isl_take isl_schedule_band *band, int pos, int coincident)
isl_bool isl_schedule_band_get_permutable (__isl_keep isl_schedule_band *band)
__isl_give isl_schedule_bandisl_schedule_band_set_permutable (__isl_take isl_schedule_band *band, int permutable)
int isl_schedule_band_is_anchored (__isl_keep isl_schedule_band *band)
__isl_give isl_spaceisl_schedule_band_get_space (__isl_keep isl_schedule_band *band)
__isl_give isl_schedule_bandisl_schedule_band_intersect_domain (__isl_take isl_schedule_band *band, __isl_take isl_union_set *domain)
__isl_give isl_multi_union_pw_affisl_schedule_band_get_partial_schedule (__isl_keep isl_schedule_band *band)
__isl_give isl_schedule_bandisl_schedule_band_set_partial_schedule (__isl_take isl_schedule_band *band, __isl_take isl_multi_union_pw_aff *schedule)
enum isl_ast_loop_type isl_schedule_band_member_get_ast_loop_type (__isl_keep isl_schedule_band *band, int pos)
__isl_give isl_schedule_bandisl_schedule_band_member_set_ast_loop_type (__isl_take isl_schedule_band *band, int pos, enum isl_ast_loop_type type)
enum isl_ast_loop_type isl_schedule_band_member_get_isolate_ast_loop_type (__isl_keep isl_schedule_band *band, int pos)
__isl_give isl_schedule_bandisl_schedule_band_member_set_isolate_ast_loop_type (__isl_take isl_schedule_band *band, int pos, enum isl_ast_loop_type type)
static __isl_give isl_spaceloop_type_space (__isl_take isl_space *space, enum isl_ast_loop_type type, int isolate)
static __isl_give isl_union_setadd_loop_types (__isl_take isl_union_set *options, int n, enum isl_ast_loop_type *type, int isolate)
__isl_give isl_union_setisl_schedule_band_get_ast_build_options (__isl_keep isl_schedule_band *band)
static isl_bool not (__isl_keep isl_set *set, void *user)
static isl_bool has_any (__isl_keep isl_union_set *uset, isl_bool(*is)(__isl_keep isl_set *set))
static isl_bool is_isolate (__isl_keep isl_set *set)
static isl_bool has_isolate_option (__isl_keep isl_union_set *options)
static isl_bool is_loop_type_option (__isl_keep isl_set *set)
static isl_bool is_isolate_loop_type_option (__isl_keep isl_set *set)
static isl_bool has_isolate_loop_type_options (__isl_keep isl_union_set *options)
static isl_bool has_loop_type_options (__isl_keep isl_union_set *options)
static enum isl_ast_loop_type extract_loop_type (__isl_keep isl_union_set *options, int pos, int isolate)
static int extract_loop_types (__isl_keep isl_schedule_band *band, __isl_keep isl_union_set *options)
static int extract_isolate_loop_types (__isl_keep isl_schedule_band *band, __isl_keep isl_union_set *options)
static __isl_give isl_union_setloop_types (__isl_take isl_space *space, int isolate)
static __isl_give isl_union_setclear_loop_types (__isl_take isl_union_set *options)
static __isl_give isl_union_setclear_isolate_loop_types (__isl_take isl_union_set *options)
__isl_give isl_schedule_bandisl_schedule_band_set_ast_build_options (__isl_take isl_schedule_band *band, __isl_take isl_union_set *options)
__isl_give isl_setisl_schedule_band_get_ast_isolate_option (__isl_keep isl_schedule_band *band, int depth)
__isl_give isl_schedule_bandisl_schedule_band_replace_ast_build_option (__isl_take isl_schedule_band *band, __isl_take isl_set *drop, __isl_take isl_set *add)
__isl_give isl_schedule_bandisl_schedule_band_scale (__isl_take isl_schedule_band *band, __isl_take isl_multi_val *mv)
__isl_give isl_schedule_bandisl_schedule_band_scale_down (__isl_take isl_schedule_band *band, __isl_take isl_multi_val *mv)
__isl_give isl_schedule_bandisl_schedule_band_mod (__isl_take isl_schedule_band *band, __isl_take isl_multi_val *mv)
__isl_give isl_schedule_bandisl_schedule_band_shift (__isl_take isl_schedule_band *band, __isl_take isl_multi_union_pw_aff *shift)
static isl_multi_union_pw_affisl_multi_union_pw_aff_tile (__isl_take isl_multi_union_pw_aff *sched, __isl_take isl_multi_val *sizes)
__isl_give isl_schedule_bandisl_schedule_band_tile (__isl_take isl_schedule_band *band, __isl_take isl_multi_val *sizes)
__isl_give isl_schedule_bandisl_schedule_band_point (__isl_take isl_schedule_band *band, __isl_keep isl_schedule_band *tile, __isl_take isl_multi_val *sizes)
__isl_give isl_schedule_bandisl_schedule_band_drop (__isl_take isl_schedule_band *band, int pos, int n)
__isl_give isl_schedule_bandisl_schedule_band_reset_user (__isl_take isl_schedule_band *band)
__isl_give isl_schedule_bandisl_schedule_band_align_params (__isl_take isl_schedule_band *band, __isl_take isl_space *space)
__isl_give isl_schedule_bandisl_schedule_band_pullback_union_pw_multi_aff (__isl_take isl_schedule_band *band, __isl_take isl_union_pw_multi_aff *upma)
__isl_give isl_schedule_bandisl_schedule_band_gist (__isl_take isl_schedule_band *band, __isl_take isl_union_set *context)

Variables

static const char * option_str []

Function Documentation

◆ add_loop_types()

◆ clear_isolate_loop_types()

◆ clear_loop_types()

◆ extract_isolate_loop_types()

◆ extract_loop_type()

◆ extract_loop_types()

◆ has_any()

◆ has_isolate_loop_type_options()

isl_bool has_isolate_loop_type_options ( __isl_keep isl_union_set * options)
static

◆ has_isolate_option()

isl_bool has_isolate_option ( __isl_keep isl_union_set * options)
static

◆ has_loop_type_options()

isl_bool has_loop_type_options ( __isl_keep isl_union_set * options)
static

◆ is_isolate()

◆ is_isolate_loop_type_option()

◆ is_loop_type_option()

◆ isl_multi_union_pw_aff_tile()

◆ isl_schedule_band_align_params()

◆ isl_schedule_band_alloc()

__isl_give isl_schedule_band * isl_schedule_band_alloc ( isl_ctx * ctx)
static

◆ isl_schedule_band_copy()

__isl_give isl_schedule_band * isl_schedule_band_copy ( __isl_keep isl_schedule_band * band)

Definition at line 149 of file isl_schedule_band.c.

References __isl_give, __isl_keep, and isl_schedule_band::ref.

Referenced by isl_schedule_tree_dup().

◆ isl_schedule_band_cow()

◆ isl_schedule_band_drop()

◆ isl_schedule_band_dup()

◆ isl_schedule_band_free()

◆ isl_schedule_band_from_multi_union_pw_aff()

◆ isl_schedule_band_get_ast_build_options()

◆ isl_schedule_band_get_ast_isolate_option()

◆ isl_schedule_band_get_ctx()

◆ isl_schedule_band_get_partial_schedule()

◆ isl_schedule_band_get_permutable()

isl_bool isl_schedule_band_get_permutable ( __isl_keep isl_schedule_band * band)

◆ isl_schedule_band_get_space()

__isl_give isl_space * isl_schedule_band_get_space ( __isl_keep isl_schedule_band * band)

◆ isl_schedule_band_gist()

◆ isl_schedule_band_intersect_domain()

◆ isl_schedule_band_is_anchored()

int isl_schedule_band_is_anchored ( __isl_keep isl_schedule_band * band)

Definition at line 301 of file isl_schedule_band.c.

References __isl_keep.

Referenced by isl_schedule_tree_from_band(), and isl_schedule_tree_is_anchored().

◆ isl_schedule_band_member_get_ast_loop_type()

◆ isl_schedule_band_member_get_coincident()

◆ isl_schedule_band_member_get_isolate_ast_loop_type()

◆ isl_schedule_band_member_set_ast_loop_type()

◆ isl_schedule_band_member_set_coincident()

◆ isl_schedule_band_member_set_isolate_ast_loop_type()

◆ isl_schedule_band_mod()

◆ isl_schedule_band_n_member()

isl_size isl_schedule_band_n_member ( __isl_keep isl_schedule_band * band)

◆ isl_schedule_band_plain_is_equal()

isl_bool isl_schedule_band_plain_is_equal ( __isl_keep isl_schedule_band * band1,
__isl_keep isl_schedule_band * band2 )

◆ isl_schedule_band_point()

◆ isl_schedule_band_pullback_union_pw_multi_aff()

◆ isl_schedule_band_replace_ast_build_option()

◆ isl_schedule_band_reset_user()

◆ isl_schedule_band_scale()

◆ isl_schedule_band_scale_down()

◆ isl_schedule_band_set_ast_build_options()

◆ isl_schedule_band_set_partial_schedule()

◆ isl_schedule_band_set_permutable()

__isl_give isl_schedule_band * isl_schedule_band_set_permutable ( __isl_take isl_schedule_band * band,
int permutable )

◆ isl_schedule_band_shift()

◆ isl_schedule_band_tile()

◆ loop_type_space()

◆ loop_types()

◆ not()

isl_bool not ( __isl_keep isl_set * set,
void * user )
static

Variable Documentation

◆ option_str

const char* option_str[]
static
Initial value:
= {
[isl_ast_loop_atomic] = "atomic",
[isl_ast_loop_unroll] = "unroll",
[isl_ast_loop_separate] = "separate"
}
@ isl_ast_loop_atomic
Definition ast_type.h:94
@ isl_ast_loop_separate
Definition ast_type.h:96
@ isl_ast_loop_unroll
Definition ast_type.h:95

Definition at line 478 of file isl_schedule_band.c.