Polly
22.0.0git
llvm-project
polly
lib
External
isl
isl_multi_param_templ.c
Go to the documentation of this file.
1
/*
2
* Use of this software is governed by the MIT license
3
*
4
* Written by Sven Verdoolaege
5
*/
6
7
#include <
isl_multi_macro.h
>
8
9
/* Does the multiple expression "multi" depend in any way
10
* on the parameter with identifier "id"?
11
*/
12
isl_bool
FN
(
MULTI
(
BASE
),involves_param_id)(
__isl_keep
MULTI
(
BASE
) *multi,
13
__isl_keep
isl_id
*
id
)
14
{
15
int
i;
16
int
pos
;
17
18
if
(!multi || !
id
)
19
return
isl_bool_error
;
20
if
(multi->n == 0)
21
return
isl_bool_false
;
22
pos
=
FN
(
MULTI
(
BASE
),find_dim_by_id)(multi,
isl_dim_param
,
id
);
23
if
(
pos
< 0)
24
return
isl_bool_false
;
25
26
for
(i = 0; i < multi->n; ++i) {
27
isl_bool
involved =
FN
(
EL
,involves_param_id)(multi->u.p[i],
id
);
28
if
(involved < 0 || involved)
29
return
involved;
30
}
31
32
return
isl_bool_false
;
33
}
34
35
/* Does the multiple expression "multi" depend in any way
36
* on any of the parameters with identifiers in "list"?
37
*/
38
isl_bool
FN
(
MULTI
(
BASE
),involves_param_id_list)(
__isl_keep
MULTI
(
BASE
) *multi,
39
__isl_keep
isl_id_list *list)
40
{
41
int
i;
42
isl_size
n
;
43
44
n
= isl_id_list_size(list);
45
if
(
n
< 0)
46
return
isl_bool_error
;
47
for
(i = 0; i <
n
; ++i) {
48
isl_bool
involves;
49
isl_id
*
id
;
50
51
id
= isl_id_list_get_at(list, i);
52
involves =
FN
(
MULTI
(
BASE
),involves_param_id)(multi,
id
);
53
isl_id_free
(
id
);
54
55
if
(involves < 0 || involves)
56
return
involves;
57
}
58
59
return
isl_bool_false
;
60
}
FN
#define FN(TYPE, NAME)
Definition
check_parse_fail_test_templ.c:15
__isl_keep
#define __isl_keep
Definition
ctx.h:25
isl_size
int isl_size
Definition
ctx.h:96
isl_bool
isl_bool
Definition
ctx.h:89
isl_bool_false
@ isl_bool_false
Definition
ctx.h:91
isl_bool_error
@ isl_bool_error
Definition
ctx.h:90
BASE
#define BASE
Definition
flow_cmp.c:49
isl_id_free
__isl_null isl_id * isl_id_free(__isl_take isl_id *id)
Definition
isl_id.c:207
EL
#define EL
Definition
isl_aff_private.h:25
pos
static unsigned pos(__isl_keep isl_space *space, enum isl_dim_type type)
Definition
isl_map.c:70
isl_multi_macro.h
MULTI
#define MULTI(BASE)
Definition
isl_multi_macro.h:6
id
const char * id
Definition
isl_test.c:7279
isl_dim_param
@ isl_dim_param
Definition
space_type.h:15
isl_id
Definition
isl_id_private.h:21
n
n
Definition
youcefn.c:8
Generated on
for Polly by
1.14.0