Traditionally, compiler researchers either conduct experiments within an existing production compiler or develop their own prototype compiler; both options come with tradeoffs. On one hand, prototyping in a production compiler can be cumbersome, as they are often optimized for program compilation speed at the expense of software simplicity and development speed. On the other hand, the transition from a prototype compiler to production requires significant engineering work. To bridge this gap, we introduce the concept of sidekick compiler frameworks, an approach that uses multiple frameworks that interoperate with each other by leveraging textual interchange formats and declarative descriptions of abstractions. Each such compiler framework is specialized for specific use cases, such as performance or prototyping. Abstractions are by design shared across frameworks, simplifying the transition from prototyping to production. We demonstrate this idea with xDSL, a sidekick for MLIR focused on prototyping and teaching. xDSL interoperates with MLIR through a shared textual IR and the exchange of IRs through an IR Definition Language. The benefits of sidekick compiler frameworks are evaluated by showing on three use cases how xDSL impacts their development: teaching, DSL compilation, and rewrite system prototyping. We also investigate the trade-offs that xDSL offers, and demonstrate how we simplify the transition between frameworks using the IRDL dialect. With sidekick compilation, we envision a future in which engineers minimize the cost of development by choosing a framework built for their immediate needs, and later transitioning to production with minimal overhead.
Mon 3 MarDisplayed time zone: Pacific Time (US & Canada) change
15:40 - 16:40 | Architectures & Code GenerationMain Conference at Casuarina Ballroom (Level 2) Chair(s): Yongjun Park Yonsei University | ||
15:40 20mTalk | Calibro: Compilation-Assisted Linking-Time Binary Code Outlining for Code Size Reduction in Android Applications Main Conference Zhanhao Liang Wuhan University, Hanming Sun Wuhan University, wenhan shang Wuhan University, YUAN Mengting School of Computer Science, Wuhan University, Wuhan, China, Jingqin Fu Wuhan Broadcasting and Television Station, Jiang Ma OPPO Electronics Corp., Jason Xue MBZUAI, Qingan Li Wuhan University, China | ||
16:00 20mTalk | A Multi-Level Compiler Backend for Accelerated Micro-Kernels Targeting RISC-V ISA Extensions Main Conference Alexandre Lopoukhine University of Cambridge, Federico Ficarelli Cineca, Christos Vasiladiotis University of Edinburgh, Anton Lydike The University of Edinburgh, Josse Van Delm KU Leuven, Alban Dutilleul ENS Rennes, Luca Benini ETH Zurich, Switzerland, Marian Verhelst KU Leuven, Tobias Grosser University of Cambridge, UK | ||
16:20 20mTalk | xDSL: Sidekick Compilation for SSA-Based Compilers Main Conference Mathieu Fehr The University of Edinburgh, Michel Weber ETH Zurich, Christian Ulmann ETH Zurich, Alexandre Lopoukhine University of Cambridge, Martin Lücke University of Edinburgh, Theo Degioanni ENS Rennes, Christos Vasiladiotis University of Edinburgh, Michel Steuwer Technische Universität Berlin, Tobias Grosser University of Cambridge, UK |