v8/test/unittests/compiler/regalloc
Ross McIlroy f5305393f0 [Turboprop] Ensure constant operands are only used when allowed.
Previously it was possible for a slot operand to be allocated a
constant operand which is not valid. This CL adds support to the
mid-tier register allocator to keep track of whether spilled operands
can support constant operands, and if not to instead move the constant
to a spill slot at it's definition point, and use that spill slot
instead.

In the process of doing this, we can cleanup the hack that
required constants to always be allocated to a register for
REGISTER_OR_SLOT operator policies.

BUG=chromium:10772,v8:10772,v8:9684

Change-Id: I975ea2c481b45fc0855e175bc6dc2bd0a83f509a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692569
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72722}
2021-02-12 20:40:36 +00:00
..
live-range-unittest.cc [regalloc] Remove live range splintering 2020-09-28 16:45:35 +00:00
mid-tier-register-allocator-unittest.cc [Turboprop] Ensure constant operands are only used when allowed. 2021-02-12 20:40:36 +00:00
move-optimizer-unittest.cc [turbofan][cleanup] Remove dead ExplicitOperand class. 2019-09-10 08:23:40 +00:00
register-allocator-unittest.cc [regalloc] Remove live range splintering 2020-09-28 16:45:35 +00:00