Schlamelcher, Jan and Goodfellow, Thomas and Kebianyor, Bewoayia and Grüttner, 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, pp. 204-213. MBMV 2024; 27. Workshop, 2024-02-14 - 2024-02-15, Kaiserslautern. ISBN 9783800762682.
|
PDF
- Only accessible within DLR
602kB | |
|
PDF
- Only accessible within DLR
585kB | |
|
PDF
- Only accessible within DLR
391kB |
Official URL: https://www.vde-verlag.de/buecher/456267/itg-fb-314-mbmv-2024.html
Abstract
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.
| Item URL in elib: | https://elib.dlr.de/206569/ | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Document Type: | Conference or Workshop Item (Speech, Poster) | ||||||||||||||||||||
| Title: | Extending Clang/LLVM with Custom Instructions using TableGen – An Experience Report | ||||||||||||||||||||
| Authors: |
| ||||||||||||||||||||
| Date: | 15 February 2024 | ||||||||||||||||||||
| Journal or Publication Title: | 27th Workshop on Methods and Description Languages for Modeling and Verification of Circuits and Systems, MBMV 2024 | ||||||||||||||||||||
| Refereed publication: | Yes | ||||||||||||||||||||
| Open Access: | No | ||||||||||||||||||||
| Gold Open Access: | No | ||||||||||||||||||||
| In SCOPUS: | Yes | ||||||||||||||||||||
| In ISI Web of Science: | No | ||||||||||||||||||||
| Volume: | 314 | ||||||||||||||||||||
| Page Range: | pp. 204-213 | ||||||||||||||||||||
| Series Name: | Proceedings - ITG-Fachberichte | ||||||||||||||||||||
| ISBN: | 9783800762682 | ||||||||||||||||||||
| Status: | Published | ||||||||||||||||||||
| Keywords: | Compiler, LLVM, Clang, RISCV, CoreDSL, ISA Extensions | ||||||||||||||||||||
| Event Title: | MBMV 2024; 27. Workshop | ||||||||||||||||||||
| Event Location: | Kaiserslautern | ||||||||||||||||||||
| Event Type: | Workshop | ||||||||||||||||||||
| Event Start Date: | 14 February 2024 | ||||||||||||||||||||
| Event End Date: | 15 February 2024 | ||||||||||||||||||||
| Organizer: | VDE | ||||||||||||||||||||
| HGF - Research field: | Aeronautics, Space and Transport | ||||||||||||||||||||
| HGF - Program: | Transport | ||||||||||||||||||||
| HGF - Program Themes: | Road Transport | ||||||||||||||||||||
| DLR - Research area: | Transport | ||||||||||||||||||||
| DLR - Program: | V ST Straßenverkehr | ||||||||||||||||||||
| DLR - Research theme (Project): | V - V&V4NGC - Methoden, Prozesse und Werkzeugketten für die Validierung & Verifikation von NGC | ||||||||||||||||||||
| Location: | Oldenburg | ||||||||||||||||||||
| Institutes and Institutions: | Institute of Systems Engineering for Future Mobility > System Evolution and Operation | ||||||||||||||||||||
| Deposited By: | Schlamelcher, Jan | ||||||||||||||||||||
| Deposited On: | 01 Oct 2024 06:06 | ||||||||||||||||||||
| Last Modified: | 14 Jan 2025 12:51 |
Repository Staff Only: item control page