The old spill allocator used fixed work registers WR0, WR1, and WR2. The new register allocator remove WR2, and should have removed WR1 (https://github.com/ykjit/yk/commit/4d762197eba048f60d4344379ee8811e3c657842). This PR removes WR0, allowing us to use r12 as a general purpose register allocator. This doesn't make much of a benchmarking difference, because other inefficiencies mean that we don't gain much from having one more register to use, but at some point those other inefficiencies will go away, and then each register will be useful! In that sense, this PR is a small but useful step on that journey.
The old spill allocator used fixed work registers
WR0
,WR1
, andWR2
. The new register allocator removeWR2
, and should have removedWR1
(https://github.com/ykjit/yk/commit/4d762197eba048f60d4344379ee8811e3c657842). This PR removesWR0
, allowing us to user12
as a general purpose register allocator. This doesn't make much of a benchmarking difference, because other inefficiencies mean that we don't gain much from having one more register to use, but at some point those other inefficiencies will go away, and then each register will be useful! In that sense, this PR is a small but useful step on that journey.