forked from OSchip/llvm-project
44596fe6a9
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
|
||
---|---|---|
.. | ||
BlockGenerators.cpp | ||
CodeGeneration.cpp | ||
CodegenCleanup.cpp | ||
IRBuilder.cpp | ||
IslAst.cpp | ||
IslExprBuilder.cpp | ||
IslNodeBuilder.cpp | ||
LoopGenerators.cpp | ||
LoopGeneratorsGOMP.cpp | ||
LoopGeneratorsKMP.cpp | ||
ManagedMemoryRewrite.cpp | ||
PPCGCodeGeneration.cpp | ||
PerfMonitor.cpp | ||
RuntimeDebugBuilder.cpp | ||
Utils.cpp |