Erweiterung des Futhark-Backends: Nicht einfach, aber nicht unmöglich

2025-03-28

Dieser Beitrag befasst sich mit den Komplexitäten beim Hinzufügen eines neuen Backends zum Futhark-Compiler. Futhark verwendet einen mehrstufigen Kompilierungsprozess: Das Frontend analysiert und typenprüft, das Mid-End optimiert und transformiert, und das Backend übersetzt die Zwischenrepräsentation (IR) in den Zielcode. Die Backend-Implementierung ist kein einfaches Tutorial; sie umfasst mehrere IR-Dialekte und ein tiefes Verständnis der internen APIs. Der Autor schlägt vor, den passenden IR-Dialekt basierend auf der Abstraktionsebene der Zielsprache zu wählen und die vorhandene Infrastruktur zur Vereinfachung der Entwicklung zu nutzen. Das endgültige Ziel ist ein neues Backend, das über die Kommandozeile aufgerufen werden kann.

Entwicklung