Polly
22.0.0git
llvm-project
polly
lib
External
isl
isl_vertices_private.h
Go to the documentation of this file.
1
#ifndef ISL_VERTICES_PRIVATE_H
2
#define ISL_VERTICES_PRIVATE_H
3
4
#include <
isl/set.h
>
5
#include <
isl/vertices.h
>
6
7
#if defined(__cplusplus)
8
extern
"C"
{
9
#endif
10
11
struct
isl_morph
;
12
13
/* A parametric vertex. "vertex" contains the actual description
14
* of the vertex as a singleton parametric set. "dom" is the projection
15
* of "vertex" onto the parameter space, i.e., the activity domain
16
* of the vertex.
17
* During the construction of vertices and chambers, the activity domain
18
* of every parametric vertex is full-dimensional.
19
*/
20
struct
isl_vertex
{
21
isl_basic_set
*
dom
;
22
isl_basic_set
*
vertex
;
23
};
24
25
/* A chamber in the chamber decomposition. The indices of the "n_vertices"
26
* active vertices are stored in "vertices".
27
*/
28
struct
isl_chamber
{
29
int
n_vertices
;
30
int
*
vertices
;
31
isl_basic_set
*
dom
;
32
};
33
34
struct
isl_vertices
{
35
int
ref
;
36
37
/* The rational basic set spanned by the vertices. */
38
isl_basic_set
*
bset
;
39
40
int
n_vertices
;
41
struct
isl_vertex
*
v
;
42
43
int
n_chambers
;
44
struct
isl_chamber
*
c
;
45
};
46
47
struct
isl_cell
{
48
int
n_vertices
;
49
int
*
ids
;
50
isl_vertices
*
vertices
;
51
isl_basic_set
*
dom
;
52
};
53
54
struct
isl_external_vertex
{
55
isl_vertices
*
vertices
;
56
int
id
;
57
};
58
59
isl_stat
isl_vertices_foreach_disjoint_cell
(
__isl_keep
isl_vertices
*vertices,
60
isl_stat
(*
fn
)(
__isl_take
isl_cell
*cell,
void
*
user
),
void
*
user
);
61
isl_stat
isl_cell_foreach_simplex
(
__isl_take
isl_cell
*cell,
62
isl_stat
(*
fn
)(
__isl_take
isl_cell
*simplex,
void
*
user
),
void
*
user
);
63
64
__isl_give
isl_vertices
*
isl_morph_vertices
(
__isl_take
struct
isl_morph
*morph,
65
__isl_take
isl_vertices
*vertices);
66
67
#if defined(__cplusplus)
68
}
69
#endif
70
71
#endif
__isl_take
#define __isl_take
Definition
ctx.h:22
isl_stat
isl_stat
Definition
ctx.h:84
__isl_give
#define __isl_give
Definition
ctx.h:19
__isl_keep
#define __isl_keep
Definition
ctx.h:25
fn
isl_stat isl_stat(* fn)(__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, void *user)
Definition
hmap.h:37
user
isl_stat isl_stat void * user
Definition
hmap.h:39
isl_basic_set
#define isl_basic_set
Definition
isl_map_private.h:13
isl_morph_vertices
__isl_give isl_vertices * isl_morph_vertices(__isl_take struct isl_morph *morph, __isl_take isl_vertices *vertices)
isl_cell_foreach_simplex
isl_stat isl_cell_foreach_simplex(__isl_take isl_cell *cell, isl_stat(*fn)(__isl_take isl_cell *simplex, void *user), void *user)
Definition
isl_vertices.c:1581
isl_vertices_foreach_disjoint_cell
isl_stat isl_vertices_foreach_disjoint_cell(__isl_keep isl_vertices *vertices, isl_stat(*fn)(__isl_take isl_cell *cell, void *user), void *user)
Definition
isl_vertices.c:1263
set.h
isl_cell
Definition
isl_vertices_private.h:47
isl_cell::n_vertices
int n_vertices
Definition
isl_vertices_private.h:48
isl_cell::ids
int * ids
Definition
isl_vertices_private.h:49
isl_cell::vertices
isl_vertices * vertices
Definition
isl_vertices_private.h:50
isl_cell::dom
isl_basic_set * dom
Definition
isl_vertices_private.h:51
isl_chamber
Definition
isl_vertices_private.h:28
isl_chamber::vertices
int * vertices
Definition
isl_vertices_private.h:30
isl_chamber::dom
isl_basic_set * dom
Definition
isl_vertices_private.h:31
isl_chamber::n_vertices
int n_vertices
Definition
isl_vertices_private.h:29
isl_external_vertex
Definition
isl_vertices_private.h:54
isl_external_vertex::id
int id
Definition
isl_vertices_private.h:56
isl_external_vertex::vertices
isl_vertices * vertices
Definition
isl_vertices_private.h:55
isl_morph
Definition
isl_morph.h:28
isl_vertex
Definition
isl_vertices_private.h:20
isl_vertex::vertex
isl_basic_set * vertex
Definition
isl_vertices_private.h:22
isl_vertex::dom
isl_basic_set * dom
Definition
isl_vertices_private.h:21
isl_vertices
Definition
isl_vertices_private.h:34
isl_vertices::ref
int ref
Definition
isl_vertices_private.h:35
isl_vertices::n_vertices
int n_vertices
Definition
isl_vertices_private.h:40
isl_vertices::bset
isl_basic_set * bset
Definition
isl_vertices_private.h:38
isl_vertices::n_chambers
int n_chambers
Definition
isl_vertices_private.h:43
isl_vertices::v
struct isl_vertex * v
Definition
isl_vertices_private.h:41
isl_vertices::c
struct isl_chamber * c
Definition
isl_vertices_private.h:44
vertices.h
Generated on
for Polly by
1.14.0