Register Allocation in Structured Programs
โ Scribed by Sampath Kannan; Todd Proebsting
- Publisher
- Elsevier Science
- Year
- 1998
- Tongue
- English
- Weight
- 124 KB
- Volume
- 29
- Category
- Article
- ISSN
- 0196-6774
No coin nor oath required. For personal study only.
โฆ Synopsis
In this article we look at the register allocation problem. In the literature this problem is frequently reduced to the general graph coloring problem and the solutions to the problem are obtained from graph coloring heuristics. Hence, no algorithm with a good performance guarantee is known. Here we show that when attention is restricted to structured programs which we define to be programs whose control-flow graphs are series-parallel, there is an efficient algorithm that produces a solution which is within a factor of 2 of the optimal solution. We note that even with the previous restriction the resulting coloring problem is NP-complete.
We also consider how to delete a minimum number of edges from arbitrary control-flow graphs to make them series-parallel and to apply our algorithm. We show that this problem is Max SNP hard. However, we define the notion of an approximate articulation point and we give efficient algorithms to find approximate articulation points. We present a heuristic for the edge deletion problem based on this notion which seems to work well when the given graph is close to series-parallel.
๐ SIMILAR VOLUMES
Instruction scheduling and register allocation are two very important optimizations in modern compilers for advanced processors. These two optimizations must be performed simultaneously in order to maximize the instruction-level parallelism and to fully utilize the registers [1]. In this paper, we s
A stratiยฎed random sampling plan is one in which the elements of the population are ยฎrst divided into nonoverlapping groups, and then a simple random sample is selected from each group. In this paper, we focus on determining the optimal sample size of each group. We show that various versions of thi