0xMiden / 0xMiden/air-script

Add an AIR pass for Algebraic expressions optimization

Offen
#448 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
IR
Vorherrschende Sprache
Rust
Sterne
96
Forks
39
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Das Issue verweist auf bestehende Optimierungsdurchläufe und einen verlinkten PR-Kommentar für einen Ansatz. Beginnen Sie mit der Untersuchung der AIR-Pass-Infrastruktur im Codebase, wahrscheinlich in einem Verzeichnis wie `src/opt/` oder `src/passes/`. Überprüfen Sie die verlinkte Diskussion in PR #419 für Implementierungsdetails. Verstehen Sie die Darstellung algebraischer Ausdrücke und wie man Mustererkennung für Transformationen wie die Vereinfachung von `b - a - 1 + a` zu `b - 1` durchführt. Schreiben Sie Tests, um zu überprüfen, ob die Optimierung innerhalb des AIR-Constraint-Systems korrekt funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.