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-...@googlegroups.com Reporter: chr...@codeaurora.org CC: llvm-bugs@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.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs