[Webkit-unassigned] [Bug 152510] New: llvm appears to be miscalculating the live-out registers at a patchpoint

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 22 13:01:29 PST 2015


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

            Bug ID: 152510
           Summary: llvm appears to be miscalculating the live-out
                    registers at a patchpoint
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sbarati at apple.com
                CC: benjamin at webkit.org, fpizlo at apple.com,
                    ggaren at apple.com, gskachkov at gmail.com,
                    juergen at apple.com, keith_miller at apple.com,
                    mark.lam at apple.com, msaboff at apple.com,
                    oliver at apple.com, sukolsak at gmail.com,
                    utatane.tea at gmail.com

Created attachment 267798
  --> https://bugs.webkit.org/attachment.cgi?id=267798&action=review
dfg and llvm IR.

We end up clobbering a volatile register with a C call we make even though that register is used immediately after the patchpoint.

The problem appears to be that we’re not claiming that x1 is live-out at the patchpoint w/ patchpointID=27.
The code generated for this patchpoint is at “0x146cfa588”. You can see some of the meta-data we have for this 
patchpoint by looking at this line in the IR dump:
```
(#27, offset = 488, flags = 0, locations = [(Register, %r11, off:0, size:8), (Register, %r8, off:0, size:8)], liveOuts = [(%r12, 8)])
```

x1 should be live-out here because the instructions emitted immediately after the patchpoint load from x1. x1 is also a hoisted constant.

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


More information about the webkit-unassigned mailing list