[Webkit-unassigned] [Bug 171075] New: Air should support callsite-saves
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Apr 20 14:12:45 PDT 2017
https://bugs.webkit.org/show_bug.cgi?id=171075
Bug ID: 171075
Summary: Air should support callsite-saves
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
Callsite-saves are an optimization that I found to be useful in a previous compiler project. Basically, if you find that some register file needs callee-saves, but the ABI doesn't give them to you, you can fake it in the compiler: just designate some registers callsite-save and then do:
- Ignore those registers if they appear in the clobber set for any instruction during interference graph building. Note that if an instruction defs a callsite-save, it still gets interference.
- After register allocation completes, emit save/restore code around any instruction that clobbers but does not def a callsite save.
I previously found this to be a >=30% speed-up on some floating-point code (some raytracer written in Java) on x86-32 when compiling to cdecl, which has no floating point callee-saves. I used 3 callsite-saves in that project.
It's worth trying at B3 -O2.
--
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/20170420/60472ef1/attachment.html>
More information about the webkit-unassigned
mailing list