• Stephan Herhut's avatar
    [regalloc] Tweak heuristic for picking free register · 63e2c114
    Stephan Herhut authored
    This change makes it less likely to pick one of the registers that
    are not byte addressable on ia32. This is not a correctness issue but
    fixes some code size and runtime regressions.
    
    After the change to prefer registers that are not used in hinting, it
    was very likely that one of the registers that are not byte addressable
    was chosen, leading to extra code in cases where the carry flags was
    materialized as a real boolean value. With this change, we pick the first
    register that is not used in hinting, thereby mostly using byte
    addressable registers on ia32.
    
    Change-Id: I42968cf3fd7b7db949d275c40d0afeb74b5e48c3
    Reviewed-on: https://chromium-review.googlesource.com/c/1404450Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Stephan Herhut <herhut@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58726}
    63e2c114
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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 Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind 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...