forked from OSchip/llvm-project
![]() This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in lib/External/isl/include/isl/isl-noxceptions.h and the official isl C++ interface.
In the official interface the type `isl::size` cannot be casted to an unsigned without previously having checked if it contains a valid value with the function `isl::size::is_error()`.
For this reason two helping functions have been added:
- `IslAssert`: assert that no errors are present in debug builds and just disables the mandatory error check in non-debug builds
- `unisgnedFromIslSIze`: cast the `isl::size` object to `unsigned`
Changes made:
- Add the functions `IslAssert` and `unsignedFromIslSize`
- Add the utility function `rangeIslSize()`
- Retype `MaxDisjunctsInDomain` from `int` to `unsigned`
- Retype `RunTimeChecksMaxAccessDisjuncts` from `int` to `unsigned`
- Retype `MaxDimensionsInAccessRange` from `int` to `unsigned`
- Replaced some usages of `isl_size` to `unsigned` since we aim not to use `isl_size` anymore
- `isl-noexceptions.h` has been generated by
|
||
---|---|---|
.. | ||
CodeGen | ||
Config | ||
Support | ||
Canonicalization.h | ||
CodePreparation.h | ||
DeLICM.h | ||
DeadCodeElimination.h | ||
DependenceInfo.h | ||
FlattenAlgo.h | ||
FlattenSchedule.h | ||
ForwardOpTree.h | ||
JSONExporter.h | ||
LinkAllPasses.h | ||
ManualOptimizer.h | ||
MatmulOptimizer.h | ||
Options.h | ||
PolyhedralInfo.h | ||
PruneUnprofitable.h | ||
RegisterPasses.h | ||
ScheduleOptimizer.h | ||
ScheduleTreeTransform.h | ||
ScopBuilder.h | ||
ScopDetection.h | ||
ScopDetectionDiagnostic.h | ||
ScopInfo.h | ||
ScopPass.h | ||
Simplify.h | ||
ZoneAlgo.h |