[ForwardOpTree] Limit isl operations of known content reload.

Put the analysis part of reloadKnownContent under an isl
max-operations quota scope, as has already been done for
forwardKnownLoad.

This should fix the aosp timeout of "GrTestUtils.cpp".

llvm-svn: 317495
This commit is contained in:
Michael Kruse 2017-11-06 17:48:14 +00:00
parent adbf476a88
commit 4d3f3c7206
1 changed files with 8 additions and 1 deletions

View File

@ -576,7 +576,8 @@ public:
Loop *DefLoop, isl::map DefToTarget,
bool DoIt) {
// Cannot do anything without successful known analysis.
if (Known.is_null())
if (Known.is_null() || Translator.is_null() || UseToTarget.is_null() ||
DefToTarget.is_null() || MaxOpGuard.hasQuotaExceeded())
return FD_NotApplicable;
MemoryAccess *Access = TargetStmt->lookupInputAccessOf(Inst);
@ -586,6 +587,12 @@ public:
return FD_CanForwardLeaf;
}
// Don't spend too much time analyzing whether it can be reloaded. When
// carrying-out the forwarding, we cannot bail-out in the middle of the
// transformation. It also shouldn't take as long because some results are
// cached.
IslQuotaScope QuotaScope = MaxOpGuard.enter(!DoIt);
// { DomainDef[] -> ValInst[] }
isl::union_map ExpectedVal = makeNormalizedValInst(Inst, UseStmt, UseLoop);