-
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: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69108}
e9a37bf8