Polly 19.0.0git
Classes | Namespaces | Typedefs | Functions
ISLTools.h File Reference
#include "llvm/ADT/Sequence.h"
#include "llvm/ADT/iterator.h"
#include "isl/isl-noexceptions.h"
#include <algorithm>
#include <cassert>

Go to the source code of this file.

Classes

class  isl::noexceptions::isl_iterator< ListT >
 

Namespaces

namespace  isl
 These are automatically generated checked C++ bindings for isl.
 
namespace  isl::noexceptions
 
namespace  polly
 

Typedefs

template<typename ListT >
using isl::noexceptions::list_element_type = decltype(std::declval< ListT >().get_at(0))
 

Functions

void islAssert (const isl::size &Size)
 In debug builds assert that the Size is valid, in non-debug builds disable the mandatory state checking but do not enforce the error checking.
 
unsigned unsignedFromIslSize (const isl::size &Size)
 Check that Size is valid (only on debug builds) and cast it to unsigned.
 
template<typename T >
isl_iterator< T > isl::noexceptions::begin (const T &t)
 
template<typename T >
isl_iterator< T > isl::noexceptions::end (const T &t)
 
isl::map polly::beforeScatter (isl::map Map, bool Strict)
 Return the range elements that are lexicographically smaller.
 
isl::union_map polly::beforeScatter (isl::union_map UMap, bool Strict)
 Piecewise beforeScatter(isl::map,bool).
 
isl::map polly::afterScatter (isl::map Map, bool Strict)
 Return the range elements that are lexicographically larger.
 
isl::union_map polly::afterScatter (const isl::union_map &UMap, bool Strict)
 Piecewise afterScatter(isl::map,bool).
 
isl::map polly::betweenScatter (isl::map From, isl::map To, bool InclFrom, bool InclTo)
 Construct a range of timepoints between two timepoints.
 
isl::union_map polly::betweenScatter (isl::union_map From, isl::union_map To, bool InclFrom, bool InclTo)
 Piecewise betweenScatter(isl::map,isl::map,bool,bool).
 
isl::map polly::singleton (isl::union_map UMap, isl::space ExpectedSpace)
 If by construction a union map is known to contain only a single map, return it.
 
isl::set polly::singleton (isl::union_set USet, isl::space ExpectedSpace)
 If by construction an isl_union_set is known to contain only a single isl_set, return it.
 
unsigned polly::getNumScatterDims (const isl::union_map &Schedule)
 Determine how many dimensions the scatter space of Schedule has.
 
isl::space polly::getScatterSpace (const isl::union_map &Schedule)
 Return the scatter space of a Schedule.
 
isl::map polly::makeIdentityMap (const isl::set &Set, bool RestrictDomain)
 Construct an identity map for the given domain values.
 
isl::union_map polly::makeIdentityMap (const isl::union_set &USet, bool RestrictDomain)
 Construct an identity map for the given domain values.
 
isl::map polly::reverseDomain (isl::map Map)
 Reverse the nested map tuple in Map's domain.
 
isl::union_map polly::reverseDomain (const isl::union_map &UMap)
 Piecewise reverseDomain(isl::map).
 
isl::set polly::shiftDim (isl::set Set, int Pos, int Amount)
 Add a constant to one dimension of a set.
 
isl::union_set polly::shiftDim (isl::union_set USet, int Pos, int Amount)
 Piecewise shiftDim(isl::set,int,int).
 
isl::map polly::shiftDim (isl::map Map, isl::dim Dim, int Pos, int Amount)
 Add a constant to one dimension of a map.
 
isl::union_map polly::shiftDim (isl::union_map UMap, isl::dim Dim, int Pos, int Amount)
 Add a constant to one dimension of a each map in a union map.
 
void polly::simplify (isl::set &Set)
 Simplify a set inplace.
 
void polly::simplify (isl::union_set &USet)
 Simplify a union set inplace.
 
void polly::simplify (isl::map &Map)
 Simplify a map inplace.
 
void polly::simplify (isl::union_map &UMap)
 Simplify a union map inplace.
 
isl::union_map polly::computeReachingWrite (isl::union_map Schedule, isl::union_map Writes, bool Reverse, bool InclPrevDef, bool InclNextDef)
 Compute the reaching definition statement or the next overwrite for each definition of an array element.
 
isl::union_map polly::computeArrayUnused (isl::union_map Schedule, isl::union_map Writes, isl::union_map Reads, bool ReadEltInSameInst, bool InclLastRead, bool InclWrite)
 Compute the timepoints where the contents of an array element are not used.
 
isl::union_set polly::convertZoneToTimepoints (isl::union_set Zone, bool InclStart, bool InclEnd)
 Convert a zone (range between timepoints) to timepoints.
 
isl::union_map polly::convertZoneToTimepoints (isl::union_map Zone, isl::dim Dim, bool InclStart, bool InclEnd)
 Like convertZoneToTimepoints(isl::union_set,InclStart,InclEnd), but convert either the domain or the range of a map.
 
isl::map polly::convertZoneToTimepoints (isl::map Zone, isl::dim Dim, bool InclStart, bool InclEnd)
 Overload of convertZoneToTimepoints(isl::map,InclStart,InclEnd) to process only a single map.
 
isl::map polly::distributeDomain (isl::map Map)
 Distribute the domain to the tuples of a wrapped range map.
 
isl::union_map polly::distributeDomain (isl::union_map UMap)
 Apply distributeDomain(isl::map) to each map in the union.
 
isl::union_map polly::liftDomains (isl::union_map UMap, isl::union_set Factor)
 Prepend a space to the tuples of a map.
 
isl::union_map polly::applyDomainRange (isl::union_map UMap, isl::union_map Func)
 Apply a map to the 'middle' of another relation.
 
isl::map polly::intersectRange (isl::map Map, isl::union_set Range)
 Intersect the range of Map with Range.
 
isl::map polly::subtractParams (isl::map Map, isl::set Params)
 Subtract the parameter space Params from Map.
 
isl::set polly::subtractParams (isl::set Set, isl::set Params)
 Subtract the parameter space Params from Set.
 
isl::val polly::getConstant (isl::pw_aff PwAff, bool Max, bool Min)
 If PwAff maps to a constant, return said constant.
 
isl::val polly::getConstant (isl::map Map, isl::dim Dim, int Pos)
 If the relation PwAff lies on a hyperplane where the given dimension Pos with the type Dim has a fixed value, then return that value.
 
llvm::iota_range< unsigned > polly::rangeIslSize (unsigned Begin, isl::size End)
 Check that End is valid and return an iterator from Begin to End.
 
void polly::dumpPw (const isl::set &Set)
 Dump a description of the argument to llvm::errs().
 
void polly::dumpPw (const isl::map &Map)
 
void polly::dumpPw (const isl::union_set &USet)
 
void polly::dumpPw (const isl::union_map &UMap)
 
void polly::dumpPw (__isl_keep isl_set *Set)
 
void polly::dumpPw (__isl_keep isl_map *Map)
 
void polly::dumpPw (__isl_keep isl_union_set *USet)
 
void polly::dumpPw (__isl_keep isl_union_map *UMap)
 
void polly::dumpExpanded (const isl::set &Set)
 Dump all points of the argument to llvm::errs().
 
void polly::dumpExpanded (const isl::map &Map)
 
void polly::dumpExpanded (const isl::union_set &USet)
 
void polly::dumpExpanded (const isl::union_map &UMap)
 
void polly::dumpExpanded (__isl_keep isl_set *Set)
 
void polly::dumpExpanded (__isl_keep isl_map *Map)
 
void polly::dumpExpanded (__isl_keep isl_union_set *USet)
 
void polly::dumpExpanded (__isl_keep isl_union_map *UMap)
 

Function Documentation

◆ islAssert()

void islAssert ( const isl::size Size)
inline

In debug builds assert that the Size is valid, in non-debug builds disable the mandatory state checking but do not enforce the error checking.

Definition at line 25 of file ISLTools.h.

References assert, and isl::size::is_error().

Referenced by unsignedFromIslSize().

◆ unsignedFromIslSize()

unsigned unsignedFromIslSize ( const isl::size Size)
inline