[polly] Bound ISL operations during DeLICM scalar collapsing (PR #203073)
Shikhar Jain via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 28 13:21:42 PDT 2026
================
@@ -1024,9 +1031,27 @@ class DeLICMImpl final : public ZoneAlgorithm {
auto TargetAccRel = getAccessRelationFor(TargetStoreMA);
// { Zone[] -> DomTarget[] }
- // For each point in time, find the next target store instance.
- auto Target =
- computeScalarReachingOverwrite(Schedule, TargetDom, false, true);
+ // For each point in time, find the next target store instance. This can be
+ // expensive for SCoPs with many modular/quasi-affine constraints, so bound
+ // it with the shared ISL operations budget.
+ isl::map Target;
+ {
+ IslQuotaScope MaxOpScope = MaxOpGuard.enter();
+ Target = computeScalarReachingOverwrite(Schedule, TargetDom, false, true);
+
+ if (Target.is_null() || MaxOpScope.hasQuotaExceeded()) {
+ DeLICMOutOfQuota++;
----------------
ShikharJ-Corp wrote:
Done..
https://github.com/llvm/llvm-project/pull/203073
More information about the llvm-commits
mailing list