1 /* 2 * Copyright 2020 Cerebras Systems 3 * 4 * Use of this software is governed by the MIT license 5 * 6 * Written by Sven Verdoolaege, 7 * Cerebras Systems, 175 S San Antonio Rd, Los Altos, CA, USA 8 */ 9 10 /* isl_union_*_every_* callback that checks whether "pw" 11 * is free of local variables. 12 */ 13 static isl_bool FN(UNION,no_locals_el)(__isl_keep PW *pw, void *user) 14 { 15 return isl_bool_not(FN(PW,involves_locals)(pw)); 16 } 17 18 /* Does "u" involve any local variables, i.e., integer divisions? 19 */ 20 isl_bool FN(UNION,involves_locals)(__isl_keep UNION *u) 21 { 22 isl_bool no_locals; 23 24 no_locals = FN(FN(UNION,every),BASE)(u, &FN(UNION,no_locals_el), NULL); 25 26 return isl_bool_not(no_locals); 27 } 28