• Ross McIlroy's avatar
    [TurboProp] Add reference map population to fast reg alloc. · e9a37bf8
    Ross McIlroy authored
    Adds support for populating reference maps to the fast
    register allocator. In order to calculate whether a stack slot
    is live at a given instruction, we use the dominator tree to
    build a bitmap of blocks which are dominated by each block.
    A variable's spill operand is classed as alive for any blocks that are
    dominated by the block it was defined in, until the instruction index
    of the spill operand's last use. As such, it may be classified as live
    down a branch where the spill operand is never used, however it is safe
    since the spill slot won't be re-allocated until after it's last-use
    instruction index in any case.
    
    BUG=v8:9684
    
    Change-Id: I772374599ef916f57d82d468f66429e32c712ddf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2298008
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69108}
    e9a37bf8
test-instruction-scheduler.cc 4.21 KB