Lines Matching refs:PWAC
52 static bool isTooComplex(PWACtx PWAC) { in isTooComplex() argument
54 isl_pw_aff_foreach_piece(PWAC.first.get(), addNumBasicSets, &NumBasicSets); in isTooComplex()
89 void SCEVAffinator::interpretAsUnsigned(PWACtx &PWAC, unsigned Width) { in interpretAsUnsigned() argument
90 auto *NonNegDom = isl_pw_aff_nonneg_set(PWAC.first.copy()); in interpretAsUnsigned()
92 isl_pw_aff_intersect_domain(PWAC.first.copy(), isl_set_copy(NonNegDom)); in interpretAsUnsigned()
94 PWAC.first = isl::manage(isl_pw_aff_union_add( in interpretAsUnsigned()
95 NonNegPWA, isl_pw_aff_add(PWAC.first.release(), ExpPWA))); in interpretAsUnsigned()
99 PWACtx &PWAC, RecordedAssumptionsTy *RecordedAssumptions) { in takeNonNegativeAssumption() argument
102 auto *NegPWA = isl_pw_aff_neg(PWAC.first.copy()); in takeNonNegativeAssumption()
104 PWAC.second = in takeNonNegativeAssumption()
105 isl::manage(isl_set_union(PWAC.second.release(), isl_set_copy(NegDom))); in takeNonNegativeAssumption()
131 PWACtx SCEVAffinator::checkForWrapping(const SCEV *Expr, PWACtx PWAC) const { in checkForWrapping()
140 return PWAC; in checkForWrapping()
142 isl::pw_aff PWAMod = addModuloSemantic(PWAC.first, Expr->getType()); in checkForWrapping()
144 isl::set NotEqualSet = PWAC.first.ne_set(PWAMod); in checkForWrapping()
145 PWAC.second = PWAC.second.unite(NotEqualSet).coalesce(); in checkForWrapping()
156 return PWAC; in checkForWrapping()
199 PWACtx PWAC = CachedExpressions[Key]; in visit() local
200 if (PWAC.first) in visit()
201 return PWAC; in visit()
222 PWAC = getPWACtxFromPWA(isl::manage(isl_pw_aff_alloc(Domain, Affine))); in visit()
224 PWAC = SCEVVisitor<SCEVAffinator, PWACtx>::visit(Expr); in visit()
226 PWAC.first = addModuloSemantic(PWAC.first, Expr->getType()); in visit()
228 PWAC = checkForWrapping(Expr, PWAC); in visit()
232 PWAC = combine(PWAC, visitConstant(Factor), isl_pw_aff_mul); in visit()
234 PWAC.first = addModuloSemantic(PWAC.first, Expr->getType()); in visit()
239 PWAC.first = PWAC.first.coalesce(); in visit()
241 PWAC = checkForWrapping(Key.first, PWAC); in visit()
243 CachedExpressions[Key] = PWAC; in visit()
244 return PWAC; in visit()