[llvm-bugs] [Bug 44889] New: LoopRotate compile-time regression due to MemorySSA

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Feb 12 13:48:09 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=44889

            Bug ID: 44889
           Summary: LoopRotate compile-time regression due to MemorySSA
           Product: libraries
           Version: 10.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: nikita.ppv at gmail.com
                CC: alina.sbirlea at gmail.com, llvm-bugs at lists.llvm.org
            Blocks: 44555

Created attachment 23123
  --> https://bugs.llvm.org/attachment.cgi?id=23123&action=edit
Large bitcode test case

Running the given test-case through opt -O3 gives the following timings for
loop rotation passes:

   0.4672 (  5.1%)   0.0079 (  1.4%)   0.4751 (  4.9%)   0.4750 (  4.9%) 
Rotate Loops #2
   0.1104 (  1.2%)   0.0052 (  0.9%)   0.1156 (  1.2%)   0.1155 (  1.2%) 
Rotate Loops

With with opt -O3 -enable-mssa-loop-dependency=0 we get:

   0.0944 (  0.9%)   0.0037 (  0.7%)   0.0981 (  0.9%)   0.0980 (  0.9%) 
Rotate Loops #2
   0.0394 (  0.4%)   0.0017 (  0.3%)   0.0411 (  0.4%)   0.0409 (  0.4%) 
Rotate Loops

That is, loop rotation has become 5x more expensive with MemorySSA enabled.
Presumably updating MemorySSA during loop rotation is very expensive.

This is one of the large compile-time regressions we've observed when trying to
upgrade to LLVM 10 in rust. You can see the full impact of enabling MemorySSA
(all else being equal) on end-to-end compile times at
https://perf.rust-lang.org/compare.html?start=9993408439c871c1bc0c0bac3b3008b24039443c&end=52e999afd3be3341463f3b87be02f2bcfb381c17.


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=44555
[Bug 44555] [meta] 10.0.0 Release Blockers
-- 
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/20200212/e6e0c086/attachment.html>


More information about the llvm-bugs mailing list