bytecodealliance / bytecodealliance/regalloc2

Support instructions that clobber all registers and have non-fixed uses

Aperta
#145 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
265
Fork
53
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

There are currently special cases for when an instruction uses a fixed register and clobbers it, but when an instruction uses an unconstrained register and clobbers all registers there is no special case and we get a `TooManyLiveRegisters` error. This can be avoided by adding an unnecessary fixed register constraint so that the first special case is hit, but one shouldn't have to constrain the register allocation in that way, regalloc2 should just handle this case.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia tracciando i casi speciali esistenti per gli usi con registri fissi che sovrascrivono il registro, quindi riproduci il fallimento TooManyLiveRegisters per un uso senza vincoli che sovrascrive tutti i registri. Il lavoro è completato quando regalloc2 gestisce quell'istruzione senza richiedere un vincolo non necessario su un registro fisso.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
compilers
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.