WebKit Bugzilla
Attachment 339096 Details for
Bug 185123
: B3 should run tail duplication at the bitter end
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
the patch
blah.patch (text/plain), 2.91 KB, created by
Filip Pizlo
on 2018-04-29 11:28:04 PDT
(
hide
)
Description:
the patch
Filename:
MIME Type:
Creator:
Filip Pizlo
Created:
2018-04-29 11:28:04 PDT
Size:
2.91 KB
patch
obsolete
>Index: Source/JavaScriptCore/ChangeLog >=================================================================== >--- Source/JavaScriptCore/ChangeLog (revision 231153) >+++ Source/JavaScriptCore/ChangeLog (working copy) >@@ -1,3 +1,20 @@ >+2018-04-29 Filip Pizlo <fpizlo@apple.com> >+ >+ B3 should run tail duplication at the bitter end >+ https://bugs.webkit.org/show_bug.cgi?id=185123 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Also added an option to disable taildup. This appears to be a 1% AsmBench speed-up. It's neutral >+ everywhere else. >+ >+ The goal of this change is to allow us to run path specialization after switch lowering but >+ before tail duplication. >+ >+ * b3/B3Generate.cpp: >+ (JSC::B3::generateToAir): >+ * runtime/Options.h: >+ > 2018-04-29 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r231137. >Index: Source/JavaScriptCore/b3/B3Generate.cpp >=================================================================== >--- Source/JavaScriptCore/b3/B3Generate.cpp (revision 231128) >+++ Source/JavaScriptCore/b3/B3Generate.cpp (working copy) >@@ -80,19 +80,14 @@ void generateToAir(Procedure& procedure) > > if (shouldValidateIR()) > validate(procedure); >- >+ > if (procedure.optLevel() >= 2) { > reduceDoubleToFloat(procedure); > reduceStrength(procedure); > hoistLoopInvariantValues(procedure); > if (eliminateCommonSubexpressions(procedure)) > eliminateCommonSubexpressions(procedure); >- foldPathConstants(procedure); >- reduceStrength(procedure); > inferSwitches(procedure); >- duplicateTails(procedure); >- fixSSA(procedure); >- foldPathConstants(procedure); > > // FIXME: Add more optimizations here. > // https://bugs.webkit.org/show_bug.cgi?id=150507 >@@ -106,6 +101,11 @@ void generateToAir(Procedure& procedure) > > if (procedure.optLevel() >= 2) { > reduceStrength(procedure); >+ if (Options::useB3TailDup()) >+ duplicateTails(procedure); >+ fixSSA(procedure); >+ foldPathConstants(procedure); >+ reduceStrength(procedure); > > // FIXME: Add more optimizations here. > // https://bugs.webkit.org/show_bug.cgi?id=150507 >Index: Source/JavaScriptCore/runtime/Options.h >=================================================================== >--- Source/JavaScriptCore/runtime/Options.h (revision 231128) >+++ Source/JavaScriptCore/runtime/Options.h (working copy) >@@ -437,6 +437,7 @@ constexpr bool enableIntlPluralRules = f > v(bool, airRandomizeRegs, false, Normal, nullptr) \ > v(bool, coalesceSpillSlots, true, Normal, nullptr) \ > v(bool, logAirRegisterPressure, false, Normal, nullptr) \ >+ v(bool, useB3TailDup, true, Normal, nullptr) \ > v(unsigned, maxB3TailDupBlockSize, 3, Normal, nullptr) \ > v(unsigned, maxB3TailDupBlockSuccessors, 3, Normal, nullptr) \ > \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ggaren
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185123
: 339096