[llvm-bugs] [Bug 48689] New: Commit e6251ad4caef causing huge regression in compile time
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jan 7 10:50:26 PST 2021
https://bugs.llvm.org/show_bug.cgi?id=48689
Bug ID: 48689
Summary: Commit e6251ad4caef causing huge regression in compile
time
Product: new-bugs
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: douglas_yung at playstation.sony.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
We have a large automatically generated test internally which a while back
started taking massively longer to compile. From the compiler time report, the
cause of the increase was the SLP Vectorizer pass which went from <0.5 seconds
to around 180 seconds which I bisected to commit e6251ad4caef.
The large test contains 1000 automatically generated test cases, and I did
several runs and calculated what % of the time was spent in the SLP Vectorizer
pass. When limiting the test to only 50 cases, the compiler only spent 3.6% of
the time in the SLP Vectorizer. At 200 test cases, it was up to 25%, 450 was
55%, up to 950 cases where we were spending roughly 71% of the compilation time
in the SLP Vectorizer.
It was suggested that perhaps we can be smarter about when we run the SLP
Vectorizer pass in order to avoid this huge compile time regression. Possibly
by only making the call to verifyFunction run at the end of or after the
BoUpSLP destructor, so we only need to make it so that it only runs when a
change has been made. This could be achieved by passing "changed" into BoUpSLP,
or by calling it just after runImpl is called (in SLPVectorizer::runOnFunction
and SLPVectorizerPass::run).
--
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/20210107/96cf4c3b/attachment-0001.html>
More information about the llvm-bugs
mailing list