Schlamelcher, Jan und Goodfellow, Thomas und Kebianyor, Bewoayia und Gruettner, Kim (2024) Extending Clang/LLVM with Custom Instructions using TableGen – An Experience Report. In: 27th Workshop on Methods and Description Languages for Modeling and Verification of Circuits and Systems, MBMV 2024, 314, Seiten 204-213. MBMV 2024; 27. Workshop, 2024-02-14 - 2024-02-15, Kaiserslautern. ISBN 9783800762682.
PDF
- Nur DLR-intern zugänglich
602kB | |
PDF
- Nur DLR-intern zugänglich
585kB | |
PDF
- Nur DLR-intern zugänglich
391kB |
Offizielle URL: https://www.vde-verlag.de/buecher/456267/itg-fb-314-mbmv-2024.html
Kurzfassung
The extensibility of the RISC-V ISA by adding instructions allows for the rapid creation of custom processor cores. For that reason, it must be assured that the software tooling for this hardware does not become a bottleneck in this process. In this paper, we address this by describing an approach for automatically augmenting a compiler from a description of the instruction set extension. Our approach is based on Clang/LLVM with the custom instructions (RISC-V ISA-extensions) being described in a domain-specific language (DSL) called CoreDSL. These CoreDSL definitions are automatically translated into corresponding Clang/LLVM updates (TableGen and C++) with the goal of avoiding invasive changes to the compiler, while enabling free use of the custom instructions. Despite various challenges we encountered in the process, we have successfully automated the modification of Clang/LLVM to support custom instructions throughout the whole software toolchain (compiler, linker and debugger) and present our leanings and proposed next steps to further apply our proposed concept in a stable tool environment. The presented concept is not limited to RISC-V cores, but could also be adopted for other platforms with custom instruction support.
elib-URL des Eintrags: | https://elib.dlr.de/206569/ | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dokumentart: | Konferenzbeitrag (Vortrag, Poster) | ||||||||||||||||||||
Titel: | Extending Clang/LLVM with Custom Instructions using TableGen – An Experience Report | ||||||||||||||||||||
Autoren: |
| ||||||||||||||||||||
Datum: | 15 Februar 2024 | ||||||||||||||||||||
Erschienen in: | 27th Workshop on Methods and Description Languages for Modeling and Verification of Circuits and Systems, MBMV 2024 | ||||||||||||||||||||
Referierte Publikation: | Ja | ||||||||||||||||||||
Open Access: | Nein | ||||||||||||||||||||
Gold Open Access: | Nein | ||||||||||||||||||||
In SCOPUS: | Ja | ||||||||||||||||||||
In ISI Web of Science: | Nein | ||||||||||||||||||||
Band: | 314 | ||||||||||||||||||||
Seitenbereich: | Seiten 204-213 | ||||||||||||||||||||
Name der Reihe: | Proceedings - ITG-Fachberichte | ||||||||||||||||||||
ISBN: | 9783800762682 | ||||||||||||||||||||
Status: | veröffentlicht | ||||||||||||||||||||
Stichwörter: | Compiler, LLVM, Clang, RISCV, CoreDSL, ISA Extensions | ||||||||||||||||||||
Veranstaltungstitel: | MBMV 2024; 27. Workshop | ||||||||||||||||||||
Veranstaltungsort: | Kaiserslautern | ||||||||||||||||||||
Veranstaltungsart: | Workshop | ||||||||||||||||||||
Veranstaltungsbeginn: | 14 Februar 2024 | ||||||||||||||||||||
Veranstaltungsende: | 15 Februar 2024 | ||||||||||||||||||||
Veranstalter : | VDE | ||||||||||||||||||||
HGF - Forschungsbereich: | Luftfahrt, Raumfahrt und Verkehr | ||||||||||||||||||||
HGF - Programm: | Verkehr | ||||||||||||||||||||
HGF - Programmthema: | keine Zuordnung | ||||||||||||||||||||
DLR - Schwerpunkt: | Verkehr | ||||||||||||||||||||
DLR - Forschungsgebiet: | V - keine Zuordnung | ||||||||||||||||||||
DLR - Teilgebiet (Projekt, Vorhaben): | V - keine Zuordnung | ||||||||||||||||||||
Standort: | Oldenburg | ||||||||||||||||||||
Institute & Einrichtungen: | Institut für Systems Engineering für zukünftige Mobilität > System Evolution and Operation | ||||||||||||||||||||
Hinterlegt von: | Schlamelcher, Jan | ||||||||||||||||||||
Hinterlegt am: | 01 Okt 2024 06:06 | ||||||||||||||||||||
Letzte Änderung: | 18 Nov 2024 08:23 |
Nur für Mitarbeiter des Archivs: Kontrollseite des Eintrags