0xMiden / 0xMiden/air-script

Add an AIR pass for Algebraic expressions optimization

Aperta
#448 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
IR
Lingua principale
Rust
Stelle
96
Fork
39
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

The current optimization passes (common subexpression elimination, constant propagation / folding, match arms combination..) do not yet reduce algebraic expressions effectively.

For instance, `b - a - 1 + a` would not be reduced into `b - 1`.

We should check what expressions we would like to optimize, and introduce a pass to do it.

One approach is described in https://github.com/0xMiden/air-script/pull/419#discussion_r2268817994

Note: See also https://github.com/0xMiden/air-script/issues/354 for more optimizations.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

L'issue fa riferimento a passaggi di ottimizzazione esistenti e a un commento di una PR collegata per un approccio. Inizia esaminando l'infrastruttura dei pass AIR nella codebase, probabilmente in una directory come `src/opt/` o `src/passes/`. Rivedi la discussione della PR #419 collegata per i dettagli di implementazione. Comprendi la rappresentazione delle espressioni algebriche e come eseguire il pattern matching per trasformazioni come semplificare `b - a - 1 + a` in `b - 1`. Scrivi test per verificare che l'ottimizzazione funzioni correttamente all'interno del sistema di vincoli AIR.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.