The loop over all the candidate registers in LinearScan::tryAllocateFreeReg() and in LinearScan::allocateBusyReg() could be short-circuited when a register is found that has the best possible score. Additionally, in the case of MinOpts, it could potentially short-circuit as soon as a suitable candidate is found, though one would want to weight the throughput benefit against the code quality impact.
category:throughput
theme:register-allocator
skill-level:expert
cost:medium
The loop over all the candidate registers in
LinearScan::tryAllocateFreeReg()and inLinearScan::allocateBusyReg()could be short-circuited when a register is found that has the best possible score. Additionally, in the case of MinOpts, it could potentially short-circuit as soon as a suitable candidate is found, though one would want to weight the throughput benefit against the code quality impact.category:throughput
theme:register-allocator
skill-level:expert
cost:medium