[llvm-bugs] [Bug 26382] New: Long compile time due to domain building
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Jan 29 14:41:46 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=26382
Bug ID: 26382
Summary: Long compile time due to domain building
Product: Polly
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: Optimizer
Assignee: polly-dev at googlegroups.com
Reporter: chrisj at codeaurora.org
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 15758
--> https://llvm.org/bugs/attachment.cgi?id=15758&action=edit
Test case
Command:
opt -polly-process-unprofitable -polly-code-generator=isl -polly-scops
-analyze long_compile.ll
The attached test is taking a very long time to compile and I noticed it was in
in the below set of complements and coalescing in buildConditionSets
(ScopInfo.cpp)
Function signature:
void buildConditionSets(Scop &S, Value *Condition, TerminatorInst *TI, Loop *L,
__isl_keep isl_set *Domain,
SmallVectorImpl<__isl_give isl_set *> &ConditionSets)
..
..
isl_set *AlternativeCondSet =
isl_set_complement(isl_set_copy(ConsequenceCondSet));
ConditionSets.push_back(isl_set_coalesce(
isl_set_intersect(ConsequenceCondSet, isl_set_copy(Domain))));
ConditionSets.push_back(isl_set_coalesce(
isl_set_intersect(AlternativeCondSet, isl_set_copy(Domain))));
..
..
The test finally got over after ~132 minutes and the number of sets in
ConsequenceCondSet grew to 2187. In buildDomainsWithBranchConstraints, size of
SuccDomain does cross the limit of 20 (MaxConjunctsInDomain) and we do make it
empty. I was wondering if we could safely bail out from domain building and
invalidate the current Scop in such a case rather than continuing with the
algorithm.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160129/8a2db306/attachment.html>
More information about the llvm-bugs
mailing list