Lines Matching refs:isl
89 static isl::union_map underapproximatedAddMap(isl::union_map UMap, in underapproximatedAddMap()
90 isl::map Map) { in underapproximatedAddMap()
94 isl::map PrevMap = UMap.extract_map(Map.get_space()); in underapproximatedAddMap()
103 isl::map Result = isl::map::empty(PrevMap.get_space()); in underapproximatedAddMap()
104 for (isl::basic_map BMap : PrevMap.get_basic_map_list()) { in underapproximatedAddMap()
109 for (isl::basic_map BMap : Map.get_basic_map_list()) { in underapproximatedAddMap()
115 isl::union_map UResult = in underapproximatedAddMap()
116 UMap.subtract(isl::map::universe(PrevMap.get_space())); in underapproximatedAddMap()
251 isl::set Domain = Stmt.getDomain(); in removeOverwrites()
252 isl::union_map WillBeOverwritten = isl::union_map::empty(S->getIslCtx()); in removeOverwrites()
274 isl::map AccRelUniv = isl::map::universe(AccRel.get_space()); in removeOverwrites()
280 isl::union_map AccRelUnion = AccRel; in removeOverwrites()
309 isl::set Domain = Stmt.getDomain().intersect_params(S->getContext()); in coalesceWrites()
316 SmallDenseMap<Value *, isl::set> ValueSets; in coalesceWrites()
317 auto makeValueSet = [&ValueSets, this](Value *V) -> isl::set { in coalesceWrites()
319 isl::set &Result = ValueSets[V]; in coalesceWrites()
321 isl::ctx Ctx = S->getIslCtx(); in coalesceWrites()
324 isl::id Id = isl::id::alloc(Ctx, Name, V); in coalesceWrites()
325 Result = isl::set::universe( in coalesceWrites()
326 isl::space(Ctx, 0, 0).set_tuple_id(isl::dim::set, Id)); in coalesceWrites()
333 isl::union_map FutureWrites = isl::union_map::empty(S->getIslCtx()); in coalesceWrites()
345 isl::map AccRel = MA->getLatestAccessRelation().intersect_domain(Domain); in coalesceWrites()
348 isl::set AccRelWrapped = AccRel.wrap(); in coalesceWrites()
351 isl::set ValSet; in coalesceWrites()
369 isl::set AccDomain = AccRel.domain(); in coalesceWrites()
372 isl::set UndefDomain = Domain.subtract(AccDomain); in coalesceWrites()
375 isl::set ElementUniverse = in coalesceWrites()
376 isl::set::universe(AccRel.get_space().range()); in coalesceWrites()
379 isl::map UndefAnything = in coalesceWrites()
380 isl::map::from_domain_and_range(UndefDomain, ElementUniverse); in coalesceWrites()
384 isl::map AllowedAccesses = AccRel.unite(UndefAnything); in coalesceWrites()
388 isl::map Filter = in coalesceWrites()
389 isl::map::from_domain_and_range(AllowedAccesses.wrap(), ValSet); in coalesceWrites()
393 isl::union_map Filtered = in coalesceWrites()
397 for (isl::map Map : Filtered.get_map_list()) { in coalesceWrites()
399 .get_tuple_id(isl::dim::out) in coalesceWrites()
402 isl::map OtherAccRel = in coalesceWrites()
413 isl::map NewAccRel = AccRel.unite(OtherAccRel); in coalesceWrites()
437 for (isl::map Map : in coalesceWrites()
442 .get_tuple_id(isl::dim::out) in coalesceWrites()
446 isl::union_map NewFutureWrites = in coalesceWrites()
447 isl::union_map::empty(FutureWrites.ctx()); in coalesceWrites()
448 for (isl::map FutureWrite : FutureWrites.get_map_list()) { in coalesceWrites()
452 .get_tuple_id(isl::dim::out) in coalesceWrites()
462 isl::set::universe(isl::space(S->getIslCtx(), 0, 0) in coalesceWrites()
463 .set_tuple_id(isl::dim::set, MA->getId())); in coalesceWrites()
466 isl::map ValAccSet = isl::map::from_domain_and_range(ValSet, AccSet); in coalesceWrites()
469 isl::map AccRelValAcc = in coalesceWrites()
470 isl::map::from_domain_and_range(AccRelWrapped, ValAccSet.wrap()); in coalesceWrites()
481 SmallDenseMap<Value *, isl::set> ValueSets; in removeRedundantWrites()
482 auto makeValueSet = [&ValueSets, this](Value *V) -> isl::set { in removeRedundantWrites()
484 isl::set &Result = ValueSets[V]; in removeRedundantWrites()
489 isl::id Id = isl::manage(isl_id_alloc(Ctx, Name.c_str(), V)); in removeRedundantWrites()
490 Result = isl::set::universe( in removeRedundantWrites()
491 isl::space(Ctx, 0, 0).set_tuple_id(isl::dim::set, Id)); in removeRedundantWrites()
496 isl::set Domain = Stmt.getDomain(); in removeRedundantWrites()
502 isl::union_map Known = isl::union_map::empty(S->getIslCtx()); in removeRedundantWrites()
515 isl::map AccRel = MA->getAccessRelation(); in removeRedundantWrites()
517 isl::set AccRelWrapped = AccRel.wrap(); in removeRedundantWrites()
531 isl::map AccRelStoredVal = isl::map::from_domain_and_range( in removeRedundantWrites()
533 if (isl::union_map(AccRelStoredVal).is_subset(Known)) { in removeRedundantWrites()
552 isl::map AccRelVal = isl::map::from_domain_and_range( in removeRedundantWrites()
561 isl::set AccRelUniv = isl::set::universe(AccRelWrapped.get_space()); in removeRedundantWrites()
593 isl::map AccRel = MA->getAccessRelation(); in removeEmptyPartialAccesses()