tc/core/polyhedral/schedule_isl_conversion.cc
/*
 * Return the positions of children of sequence node "st"
 * with filters that intersect "domain".
 */
Return the positions of children of sequence node "st"
with filters that intersect "domain".
Return the positions of children of sequence node " st " with filters that intersect " domain " .
std::vector<size_t> findCorePositions(
    const ScheduleTree* st,
    isl::union_set domain) {
  std::vector<size_t> positions;
  CHECK(st->elemAs<ScheduleTreeElemSequence>());
  for (size_t i = 0; i < st->numChildren(); ++i) {
    auto filter = st->child({i})->elemAsBase<ScheduleTreeElemFilter>();
    CHECK(filter);
    if (!filter->filter_.intersect(domain).is_empty()) {
      positions.emplace_back(i);
    }
  }
  return positions;
}
std :: vector < size_t > findCorePositions ( const ScheduleTree * st , isl :: union_set domain ) { std :: vector < size_t > positions ; CHECK ( st -> elemAs < ScheduleTreeElemSequence > ( ) ) ; for ( size_t i = 0 ; i < st -> numChildren ( ) ; ++ i ) { auto filter = st -> child ( { i } ) -> elemAsBase < ScheduleTreeElemFilter > ( ) ; CHECK ( filter ) ; if ( ! filter -> filter_ . intersect ( domain ) . is_empty ( ) ) { positions . emplace_back ( i ) ; } } return positions ; }
Return the positions of children of sequence node "st"
 with filters that intersect "domain".
Return the positions of children of sequence node " st " with filters that intersect " domain " .