isl_map_coalesce: avoid ignoring constraints redundant wrt implicit equalities
[isl.git] / isl_multi_domain_reverse_templ.c
blob312aa8740c9591ec677e8912c0325517ec411598
1 /*
2 * Copyright 2019 Cerebras Systems
4 * Use of this software is governed by the MIT license
6 * Written by Sven Verdoolaege,
7 * Cerebras Systems, 175 S San Antonio Rd, Los Altos, CA, USA
8 */
10 #include <isl/space.h>
12 #include <isl_multi_macro.h>
14 /* Given a multi expression on a domain (A -> B),
15 * interchange A and B in the wrapped domain
16 * to obtain a multi expression on the domain (B -> A).
18 __isl_give MULTI(BASE) *FN(MULTI(BASE),domain_reverse)(
19 __isl_take MULTI(BASE) *multi)
21 S(MULTI(BASE),un_op_control) control = {
22 .fn_space = &isl_space_domain_reverse,
23 .fn_el = &FN(EL,domain_reverse),
25 return FN(MULTI(BASE),un_op)(multi, &control);