• 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
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
OWNERS Loading commit data...
code-generator-impl.h Loading commit data...
code-generator.cc Loading commit data...
code-generator.h Loading commit data...
frame-elider.cc Loading commit data...
frame-elider.h Loading commit data...
gap-resolver.cc Loading commit data...
gap-resolver.h Loading commit data...
instruction-codes.h Loading commit data...
instruction-scheduler.cc Loading commit data...
instruction-scheduler.h Loading commit data...
instruction-selector-impl.h Loading commit data...
instruction-selector.cc Loading commit data...
instruction-selector.h Loading commit data...
instruction.cc Loading commit data...
instruction.h Loading commit data...
jump-threading.cc Loading commit data...
jump-threading.h Loading commit data...
live-range-separator.cc Loading commit data...
live-range-separator.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.h Loading commit data...
register-allocator-verifier.cc Loading commit data...
register-allocator-verifier.h Loading commit data...
register-allocator.cc Loading commit data...
register-allocator.h Loading commit data...
unwinding-info-writer.h Loading commit data...