[llvm-bugs] [Bug 32996] New: Test taking longer to compile due to inefficiencies in the SSA updater/LCSSA

via llvm-bugs llvm-bugs at lists.llvm.org
Wed May 10 19:12:39 PDT 2017


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

            Bug ID: 32996
           Summary: Test taking longer to compile due to inefficiencies in
                    the SSA updater/LCSSA
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: douglas_yung at playstation.sony.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 18427
  --> https://bugs.llvm.org/attachment.cgi?id=18427&action=edit
Testcase rtc.all.c

Attached is an internal test case which has taken longer to compile over time.
Compiling the attached file with -O2 optimization, I observed the following
compile times:

3.9.0: 265.2633 seconds
3.9.1: 249.5256 seconds
4.0.0: 301.4522 seconds
r302743: 337.4302 seconds

In the 3.9.0 compiler, these were the top 5 passes as reported by the time
report:

  142.6473 ( 54.1%)   0.2808 ( 34.6%)  142.9281 ( 54.0%)  142.9435 ( 54.0%) 
Unroll loops
  52.0263 ( 19.7%)   0.0000 (  0.0%)  52.0263 ( 19.7%)  52.0531 ( 19.7%) 
Eliminate PHI nodes for register allocation
  15.3661 (  5.8%)   0.0624 (  7.7%)  15.4285 (  5.8%)  15.4032 (  5.8%) 
Induction Variable Users
   9.4693 (  3.6%)   0.0000 (  0.0%)   9.4693 (  3.6%)   9.4335 (  3.6%) 
Unroll loops
   7.5660 (  2.9%)   0.0000 (  0.0%)   7.5660 (  2.9%)   7.5846 (  2.9%)  Loop
Strength Reduction

In a compiler built from r302743, these were the top 5 passes as reported by
the time report:

  134.3013 ( 40.6%)   3.0576 ( 59.4%)  137.3589 ( 40.9%)  137.3615 ( 40.9%) 
Unroll loops
  58.3444 ( 17.6%)   1.5600 ( 30.3%)  59.9044 ( 17.8%)  59.8715 ( 17.8%) 
Unroll loops
  31.2470 (  9.4%)   0.0000 (  0.0%)  31.2470 (  9.3%)  31.2537 (  9.3%) 
Eliminate PHI nodes for register allocation
  30.6542 (  9.3%)   0.0156 (  0.3%)  30.6698 (  9.1%)  30.6671 (  9.1%) 
Induction Variable Users
  19.3753 (  5.9%)   0.0000 (  0.0%)  19.3753 (  5.8%)  19.3686 (  5.8%) 
Branch Probability Basic Block Placement

Since 3.9.0, the compile time has gotten a worse, and it seems to be related to
the SSA updater/LCSSA. It was observed that r275883 which was reverted in
r276064 and then reapplied in r276077 seemed to cause a big jump in the compile
time. This was reported fixed in r278250, however, the impact on the compile
time of this test seemed to be minimal. A further fix was made in r281949, but
that also had a minimal impact on the compile time.

-- 
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/20170511/e350c03b/attachment.html>


More information about the llvm-bugs mailing list