[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