Affiliation:
1. IBM Israel Science and Technology, Technion City, Haifa, Israel
Abstract
Global register allocation and spilling is commonly performed by solving a graph coloring problem. In this paper we present a new coherent set of heuristic methods for reducing the amount of spill code generated. This results in more efficient (and shorter) compiled code. Our approach has been compared to both standard and priority-based coloring algorithms, universally outperforming them.
In our approach, we extend the capability of the existing algorithms in several ways. First, we use
multiple
heuristic functions to increase the likelihood that less spill code will be inserted. We have found three complementary heuristic functions which together appear to span a large proportion of good spill decisions. Second, we use a specially tuned greedy heuristic for determining the order of deleting (and hence coloring) the unconstrained vertices. Third, we have developed a “cleaning” technique which avoids some of the insertion of spill code in non-busy regions.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
29 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Bibliography;Engineering a Compiler;2023
2. Register Allocation;Engineering a Compiler;2023
3. Composite-ISA Cores: Enabling Multi-ISA Heterogeneity Using a Single ISA;2019 IEEE International Symposium on High Performance Computer Architecture (HPCA);2019-02
4. Compiling for VLIW DSPs;Handbook of Signal Processing Systems;2018-10-14
5. Register Allocation by Incremental Graph Colouring for Clustered VLIW Processors;2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications;2013-07