Polly
22.0.0git
llvm-project
polly
lib
External
isl
isl_align_params_templ.c
Go to the documentation of this file.
1
/*
2
* Copyright 2011 Sven Verdoolaege
3
*
4
* Use of this software is governed by the MIT license
5
*
6
* Written by Sven Verdoolaege
7
*/
8
9
#define xFN(TYPE,NAME) TYPE ## _ ## NAME
10
#define FN(TYPE,NAME) xFN(TYPE,NAME)
11
12
/* Align the parameters of the two arguments of type ARG1 and ARG2
13
* (if needed).
14
*/
15
isl_stat
FN
(
FN
(
ARG1
,
align_params
),
SUFFIX
)(
__isl_keep
ARG1
**obj1,
16
__isl_keep
ARG2
**obj2)
17
{
18
isl_space
*space1, *space2;
19
isl_bool
equal_params;
20
21
space1 =
FN
(
ARG1
,peek_space)(*obj1);
22
space2 =
FN
(
ARG2
,peek_space)(*obj2);
23
equal_params =
isl_space_has_equal_params
(space1, space2);
24
if
(equal_params < 0)
25
goto
error;
26
if
(equal_params)
27
return
isl_stat_ok
;
28
if
(
FN
(
ARG1
,check_named_params)(*obj1) < 0 ||
29
FN
(
ARG2
,check_named_params)(*obj2) < 0)
30
goto
error;
31
*obj1 =
FN
(
ARG1
,
align_params
)(*obj1,
FN
(
ARG2
,get_space)(*obj2));
32
*obj2 =
FN
(
ARG2
,
align_params
)(*obj2,
FN
(
ARG1
,get_space)(*obj1));
33
if
(!*obj1 || !*obj2)
34
goto
error;
35
return
isl_stat_ok
;
36
error:
37
*obj1 =
FN
(
ARG1
,free)(*obj1);
38
*obj2 =
FN
(
ARG2
,free)(*obj2);
39
return
isl_stat_error
;
40
}
isl_stat
isl_stat
Definition
ctx.h:84
isl_stat_error
@ isl_stat_error
Definition
ctx.h:85
isl_stat_ok
@ isl_stat_ok
Definition
ctx.h:86
__isl_keep
#define __isl_keep
Definition
ctx.h:25
isl_bool
isl_bool
Definition
ctx.h:89
ARG2
#define ARG2
Definition
isl_align_params_bin_templ.c:4
SUFFIX
#define SUFFIX
Definition
isl_align_params_bin_templ.c:6
ARG1
#define ARG1
Definition
isl_align_params_bin_templ.c:2
FN
#define FN(TYPE, NAME)
Definition
isl_align_params_templ.c:10
align_params
static __isl_give isl_schedule_node * align_params(__isl_take isl_schedule_node *node, void *user)
Definition
isl_schedule.c:311
isl_space_has_equal_params
isl_bool isl_space_has_equal_params(__isl_keep isl_space *space1, __isl_keep isl_space *space2)
Definition
isl_space.c:1140
isl_space
Definition
isl_space_private.h:10
Generated on
for Polly by
1.14.0