elib
DLR-Header
DLR-Logo -> http://www.dlr.de
DLR Portal Home | Imprint | Privacy Policy | Accessibility | Contact | Deutsch
Fontsize: [-] Text [+]

Extending Clang/LLVM with Custom Instructions using TableGen – An Experience Report

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.

[img] PDF - Only accessible within DLR
602kB
[img] PDF - Only accessible within DLR
585kB
[img] 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:
AuthorsInstitution or Email of AuthorsAuthor's ORCID iDORCID Put Code
Schlamelcher, JanUNSPECIFIEDUNSPECIFIEDUNSPECIFIED
Goodfellow, ThomasUNSPECIFIEDUNSPECIFIEDUNSPECIFIED
Kebianyor, BewoayiaUNSPECIFIEDUNSPECIFIEDUNSPECIFIED
Grüttner, KimUNSPECIFIEDhttps://orcid.org/0000-0002-4988-3858UNSPECIFIED
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

Browse
Search
Help & Contact
Information
OpenAIRE Validator logo electronic library is running on EPrints 3.3.12
Website and database design: Copyright © German Aerospace Center (DLR). All rights reserved.