/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/polly/lib/External/isl/isl_multi_coalesce.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright 2013 Ecole Normale Superieure |
3 | | * |
4 | | * Use of this software is governed by the MIT license |
5 | | * |
6 | | * Written by Sven Verdoolaege, |
7 | | * Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France |
8 | | */ |
9 | | |
10 | | #include <isl_multi_macro.h> |
11 | | |
12 | | /* Coalesce the elements of "multi". |
13 | | * |
14 | | * Note that such coalescing does not change the meaning of "multi" |
15 | | * so there is no need to cow. We do need to be careful not to |
16 | | * destroy any other copies of "multi" in case of failure. |
17 | | */ |
18 | | __isl_give MULTI(BASE) *FN(MULTI(BASE),coalesce)(__isl_take MULTI(BASE) *multi) |
19 | 0 | { |
20 | 0 | int i; |
21 | 0 |
|
22 | 0 | if (!multi) |
23 | 0 | return NULL; |
24 | 0 | |
25 | 0 | for (i = 0; i < multi->n; ++i) { |
26 | 0 | EL *el = FN(EL,copy)(multi->u.p[i]); |
27 | 0 | el = FN(EL,coalesce)(el); |
28 | 0 | if (!el) |
29 | 0 | return FN(MULTI(BASE),free)(multi); |
30 | 0 | FN(EL,free)(multi->u.p[i]); |
31 | 0 | multi->u.p[i] = el; |
32 | 0 | } |
33 | 0 |
|
34 | 0 | return multi; |
35 | 0 | } Unexecuted instantiation: isl_multi_pw_aff_coalesce Unexecuted instantiation: isl_multi_union_pw_aff_coalesce |