• bmeurer's avatar
    Revert of [turbofan] Splinter into one range. (patchset #2 id:80001 of... · 23a8837f
    bmeurer authored
    Revert of [turbofan] Splinter into one range. (patchset #2 id:80001 of https://codereview.chromium.org/1391023007/ )
    
    Reason for revert:
    Weird endless loop in TopLevelLiveRange::Merge() due to always splitting first and not making progress. See comments, unfortunately no useable repro.
    
    Original issue's description:
    > [turbofan] Splinter into one range.
    >
    > Before this CL, we created one live range per successive set of
    > deferred blocks. For scenarios with many such blocks, this creates
    > an upfront pressure for the register allocator to deal with many ranges.
    > Linear sorts ranges, which is a super-linear operation.
    >
    > The change places all deferred intervals into one range, meaning that,
    > at most, there will be twice as many live ranges as the original set. In
    > pathological cases (benchmarks/Compile/slow_nbody1.js), this change
    > halves the compilation time. We see some improvements elsewhere,
    > notably SQLite at ~4-5%.
    >
    > We may be able to avoid the subsequent merge. Its cost is the
    > additional ranges it may need to create. The sole reason for the merge
    > phase is to provide an unchanged view of the world to the subsequent
    > phases. With the at-most-one splinter model, we may be able to teach
    > the other phases about splintering - should we find perf hindrances
    > due to merging.
    >
    > Committed: https://crrev.com/efdcd20267870276c5824f1ccf4e171ac378f7ae
    > Cr-Commit-Position: refs/heads/master@{#31224}
    
    TBR=jarin@chromium.org,mtrofin@google.com,mtrofin@chromium.org
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    
    Review URL: https://codereview.chromium.org/1403163003
    
    Cr-Commit-Position: refs/heads/master@{#31300}
    23a8837f
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...