Polly
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Functions
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
v
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Typedefs
a
b
c
d
e
i
l
m
p
r
s
v
Enumerations
Enumerator
Related Functions
a
d
f
l
m
s
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Typedefs
b
f
i
m
o
r
s
t
Enumerations
a
g
i
m
o
t
Enumerator
i
m
o
t
v
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
llvm-project
polly
lib
External
isl
isl_scheduler_clustering.h
Go to the documentation of this file.
1
#ifndef ISL_SCHEDULER_CLUSTERING_H
2
#define ISL_SCHEDULER_CLUSTERING_H
3
4
#include "
isl_scheduler.h
"
5
6
/* Clustering information used by isl_schedule_node_compute_wcc_clustering.
7
*
8
* "n" is the number of SCCs in the original dependence graph
9
* "scc" is an array of "n" elements, each representing an SCC
10
* of the original dependence graph. All entries in the same cluster
11
* have the same number of schedule rows.
12
* "scc_cluster" maps each SCC index to the cluster to which it belongs,
13
* where each cluster is represented by the index of the first SCC
14
* in the cluster. Initially, each SCC belongs to a cluster containing
15
* only that SCC.
16
*
17
* "scc_in_merge" is used by merge_clusters_along_edge to keep
18
* track of which SCCs need to be merged.
19
*
20
* "cluster" contains the merged clusters of SCCs after the clustering
21
* has completed.
22
*
23
* "scc_node" is a temporary data structure used inside copy_partial.
24
* For each SCC, it keeps track of the number of nodes in the SCC
25
* that have already been copied.
26
*/
27
struct
isl_clustering
{
28
int
n
;
29
struct
isl_sched_graph
*
scc
;
30
struct
isl_sched_graph
*
cluster
;
31
int
*
scc_cluster
;
32
int
*
scc_node
;
33
int
*
scc_in_merge
;
34
};
35
36
__isl_give
isl_schedule_node
*
isl_schedule_node_compute_wcc_clustering
(
37
__isl_take
isl_schedule_node
*
node
,
struct
isl_sched_graph
*graph);
38
39
#endif
__isl_take
#define __isl_take
Definition:
ctx.h:22
__isl_give
#define __isl_give
Definition:
ctx.h:19
isl_scheduler.h
isl_schedule_node_compute_wcc_clustering
__isl_give isl_schedule_node * isl_schedule_node_compute_wcc_clustering(__isl_take isl_schedule_node *node, struct isl_sched_graph *graph)
Definition:
isl_scheduler_clustering.c:1530
isl_clustering
Definition:
isl_scheduler_clustering.h:27
isl_clustering::scc_cluster
int * scc_cluster
Definition:
isl_scheduler_clustering.h:31
isl_clustering::cluster
struct isl_sched_graph * cluster
Definition:
isl_scheduler_clustering.h:30
isl_clustering::n
int n
Definition:
isl_scheduler_clustering.h:28
isl_clustering::scc_node
int * scc_node
Definition:
isl_scheduler_clustering.h:32
isl_clustering::scc_in_merge
int * scc_in_merge
Definition:
isl_scheduler_clustering.h:33
isl_clustering::scc
struct isl_sched_graph * scc
Definition:
isl_scheduler_clustering.h:29
isl_sched_graph
Definition:
isl_scheduler.h:221
isl_sched_graph::node
struct isl_sched_node * node
Definition:
isl_scheduler.h:226
isl_schedule_node
Definition:
isl_schedule_node_private.h:24
Generated on Thu Apr 24 2025 21:44:36 for Polly by
1.9.6