[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