Challenges and Opportunities in C/C Source-To-Source Compilation (Invited Paper)
Challenges and Opportunities in C/C Source-To-Source Compilation (Invited Paper)
dc.contributor.author | João Bispo | en |
dc.contributor.author | Nuno Miguel Paulino | en |
dc.contributor.author | Sousa,LM | en |
dc.contributor.other | 5802 | en |
dc.contributor.other | 6527 | en |
dc.date.accessioned | 2023-05-05T09:32:37Z | |
dc.date.available | 2023-05-05T09:32:37Z | |
dc.date.issued | 2023 | en |
dc.description.abstract | The C/C compilation stack (Intermediate Representations (IRs), compilation passes and backends) is encumbered by a steep learning curve, which we believe can be lowered by complementing it with approaches such as source-to-source compilation. Source-to-source compilation is a technology that is widely used and quite mature in certain programming environments, such as JavaScript, but that faces a low adoption rate in others. In the particular case of C and C some of the identified factors include the high complexity of the languages, increased difficulty in building and maintaining C/C parsers, or limitations on using source code as an intermediate representation. Additionally, new technologies such as Multi-Level Intermediate Representation (MLIR) have appeared as potential competitors to source-to-source compilers at this level. In this paper, we present what we have identified as current challenges of source-to-source compilation of C and C , as well as what we consider to be opportunities and possible directions forward. We also present several examples, implemented on top of the Clava source-to-source compiler, that use some of these ideas and techniques to raise the abstraction level of compiler research on complex compiled languages such as C or C . The examples include automatic parallelization of for loops, high-level synthesis optimisation, hardware/software partitioning with run-time decisions, and automatic insertion of inline assembly for fast prototyping of custom instructions. © João Bispo, Nuno Paulino, and Luís Miguel Sousa. | en |
dc.identifier | P-00Y-3C1 | en |
dc.identifier.uri | http://dx.doi.org/10.4230/oasics.parma-ditam.2023.2 | en |
dc.identifier.uri | https://repositorio.inesctec.pt/handle/123456789/13830 | |
dc.language | eng | en |
dc.rights | info:eu-repo/semantics/openAccess | en |
dc.title | Challenges and Opportunities in C/C Source-To-Source Compilation (Invited Paper) | en |
dc.type | en | |
dc.type | Publication | en |
Files
Original bundle
1 - 1 of 1
No Thumbnail Available
- Name:
- P-00Y-3C1.pdf
- Size:
- 652.6 KB
- Format:
- Adobe Portable Document Format
- Description: