Polly 20.0.0git
|
#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) |
|
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().
|
inline |
Check that Size
is valid (only on debug builds) and cast it to unsigned.
Cast the Size
to unsigned. If the Size
is not valid (Size.is_error() == true) then an assert and an abort are triggered.
Definition at line 40 of file ISLTools.h.
References islAssert().
Referenced by polly::ScopBuilder::addInvariantLoads(), polly::ScopBuilder::addUserContext(), polly::ScopBuilder::adjustDomainDimensions(), polly::applyFullUnroll(), polly::ScopBuilder::buildDomainsWithBranchConstraints(), buildMinMaxAccess(), polly::distributeDomain(), flatCompare(), polly::ScopBuilder::foldSizeConstantsToRight(), getAccessDomain(), polly::getConstant(), polly::ZoneAlgorithm::getDefToTarget(), polly::getIsolateOptions(), polly::ScopBuilder::getNonHoistableCtx(), polly::getNumScatterDims(), polly::getPartialTilePrefixes(), importContext(), isAccessRangeTooComplex(), polly::MemoryAccess::isStrideX(), mapToDimension(), partitionSetParts(), polly::ScopBuilder::propagateInvalidStmtDomains(), polly::rangeIslSize(), recursiveExpand(), polly::MemoryAccess::setNewAccessRelation(), polly::shiftDim(), structureCompare(), and polly::MemoryAccess::updateDimensionality().