Affiliation:
1. University of Sussex, UK
Abstract
Compilers commonly translate an input program into an intermediate representation (IR) before optimizing it and generating code. Over time there have been a number of different approaches to designing and implementing IRs. Different IRs have varying benefits and drawbacks. In this survey, we highlight key developments in the area of IR for imperative compilers, group them by a taxonomy and timeline, and comment on the divide between academic research and real-world compiler technology. We conclude that mainstream compilers, especially in the multicore era, could benefit from further IR innovations.
Funder
Engineering and Physical Sciences Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Reference81 articles.
1. Control flow analysis
2. Conversion of control dependence to data dependence
3. The Jikes Research Virtual Machine project: Building an open-source research community
4. Ball T. and Horwitz S. 1992. Constructing control flow from control dependence. Tech. rep. CS-TR-1992-1091 University of Wisconsin-Madison. Ball T. and Horwitz S. 1992. Constructing control flow from control dependence. Tech. rep. CS-TR-1992-1091 University of Wisconsin-Madison.
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. ParaGraph: An application-simulator interface and toolkit for hardware-software co-design;Proceedings of the 51st International Conference on Parallel Processing;2022-08-29
2. Intermediate Representations for Explicitly Parallel Programs;ACM Computing Surveys;2022-06-30
3. Overview of SDC;Software Defined Chips;2022
4. A Heuristic Local-sensitive Program-Wide Diffing Method for IoT Binary Files;Arabian Journal for Science and Engineering;2021-11-27
5. Source code patches from dynamic analysis;Proceedings of the 23rd ACM International Workshop on Formal Techniques for Java-like Programs;2021-07-11