Workshop:LLVM-HPC2020: The Sixth Workshop on the LLVM Compiler Infrastructure in HPC
Authors: Hal Finkel (Argonne National Laboratory (ANL)), Alex McCaskey (Oak Ridge National Laboratory), Tobi Popoola (Boise State University), Dmitry Lyakh (Oak Ridge National Laboratory), and Johannes Doerfert (Argonne National Laboratory (ANL))
Abstract: Domain-specific languages (DSLs) are both pervasive and powerful, but remain difficult to integrate into large projects. As a result, while DSLs can bring distinct advantages in performance, reliability, and maintainability, their use often involves trading off other good software-engineering practices. In this paper, we describe an extension to the Clang C++ compiler to support syntax plugins, and we demonstrate how this mechanism allows making use of DSLs inside of a C++ code base without needing to separate the DSL source code from the surrounding C++ code.