[Webkit-unassigned] [Bug 180783] New: Octane/richards regressed by a whopping 20% because eliminateCommonSubexpressions has a weird fixpoint requirement

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 13 16:34:04 PST 2017


https://bugs.webkit.org/show_bug.cgi?id=180783

            Bug ID: 180783
           Summary: Octane/richards regressed by a whopping 20% because
                    eliminateCommonSubexpressions has a weird fixpoint
                    requirement
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: fpizlo at apple.com

We accidentally introduced an extra load from arguments.  That load revealed the fact that our B3 CSE cannot handle redundant dependent chains:

BB#1:
a: Load(@x)
BB#2:
c: Load(@x)
d: Load(@c)
BB#3:
e: Load(@c)

Then CSE will build a map at the end of BB#2 that says that loads from @c are serviced by @d.

Then CSE will do this:

BB#1:
a: Load(@x)
BB#2:
c: Identity(@a)
d: Load(@a)
BB#3:
e: Load(@a)

But then, when we try to eliminate @e, we search for what loads service @a.  BB#2 tells us about @c, not @a.

The solution is either to fixpoint CSE or to perform substitution on the matches map.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20171214/a29210bf/attachment.html>


More information about the webkit-unassigned mailing list