Skip to content

Commit 468447b

Browse files
authored
Optimize lsra for MinOpts (#96386)
* Optimize resetAllRegistersState() * Add assert about refType for minopts * Templatize processBlockEndAllocation() * Add resetMinOpts() * Add selectMinOpts() * Add calculateUnassignedSet() * Call spillCostMinOpts() for minopts * Add enregisterLocalVars check in setIntervalAsSpilled() * optimize few paths in resolveRegisters() * optimize few paths in allocateRegisters() * Adjust RegisterSelection creation * Add allocateRegistersForMinOpts() * jit format * Update the assert for processBlockStartLocations() * Fix bug by using freeCandidates * Set candidates only if freeCandidates are NONE * Remove unnecessary setting of foundRegBit * Remove unnecessary checks for `freeCandidates == RBM_NONE` * Remove unnecessary checks for `freeCandidates == RBM_NONE` --amend * wip * add allocateRegForMinOpts() * Remove hasConsecutiveRegister template from allocateRegistersForMinOpt() * Add template parameter for assignCopyReg() and fix the uses * fix calls to processBlockEndAllocation() * fix bug about initializing vectorIter * Add assignCopyRegForMinOpts * jit format * rename from *MinOpts to *Minimal * Remove unneeded method * jit format * Add back short-circuit code * Quick LSRA only if optimization is disabled * Add verifyFreeRegisters()
1 parent 7373fd0 commit 468447b

File tree

3 files changed

+1338
-278
lines changed

3 files changed

+1338
-278
lines changed

0 commit comments

Comments
 (0)