DMCA
Live Range Splitting in a Graph Coloring Register Allocator (1998)
Cached
Download Links
- [softlib.cs.rice.edu]
- [ece.colorado.edu]
- [ecee.colorado.edu]
- [ecee.colorado.edu]
- [ecee.colorado.edu]
- DBLP
Other Repositories/Bibliography
Citations: | 26 - 4 self |
Citations
500 | Design and evaluation of a compiler algorithm for prefetching
- Mowry, Lam, et al.
- 1992
(Show Context)
Citation Context ...8 128 0.00 128 fftf 128 128 0.00 128 radf5 123 132 -7.32 96 radb5 123 118 4.07 82 putb 43 44 -2.33 38 getb 26 22 15.38 20 rfftil 24 19 20.83 20 slv2xy 11 9 18.18 11 pdiag 6 0 100.00 6 transformations =-=[10, 6, 14]-=-. As these techniques become more widely applied, compilers will need to deal with their consequences. For this study, we focused on routines from the program wave5 in the SPEC95 benchmark suite. Thes... |
467 |
Register Allocation and Spilling via Graph Coloring.
- Chaitin
- 1982
(Show Context)
Citation Context ...ooper 1 and L. Taylor Simpson 2 1 Rice University, Houston, Texas, USA 2 Trilogy Development Group, Austin, Texas, USA Abstract. Graph coloring is the dominant paradigm for global register allocation =-=[8, 7, 4]-=-. Coloring allocators use an interference graph, Z, to model conflicts that prevent two values from sharing a register. Nodes in 2: represent live ranges. An edge between two nodes indicates that they... |
250 |
An Efficient Method of Computing Static Single Assignment Form”,
- Cytron, Rosen, et al.
- 1989
(Show Context)
Citation Context ...tine are renamed to create live ranges. A live range is a collection of definitions that reach a common use. Briggs accomplishes this by converting the routine to pruned static single assignment form =-=[12]-=- and then combining all names mentioned in each C-node. Build The interference graph, Z, contains a node for each live range and an edge between each pair of live ranges that are simultaneously live. ... |
211 | Register allocation via coloring. - Chaitin, Chandra, et al. - 1981 |
155 | Register Allocation via Graph Coloring, - Briggs - 1992 |
141 | Coloring Heuristics for Register Allocation.
- Briggs, Cooper, et al.
- 1989
(Show Context)
Citation Context ...ooper 1 and L. Taylor Simpson 2 1 Rice University, Houston, Texas, USA 2 Trilogy Development Group, Austin, Texas, USA Abstract. Graph coloring is the dominant paradigm for global register allocation =-=[8, 7, 4]-=-. Coloring allocators use an interference graph, Z, to model conflicts that prevent two values from sharing a register. Nodes in 2: represent live ranges. An edge between two nodes indicates that they... |
116 |
Register allocation by priority-based coloring
- Chow, Hennessy
- 1984
(Show Context)
Citation Context ...se maximal-length live ranges as the basic unit of allocation. It has long been recognized that breaking a live range into smaller pieces may allow some, or all, of the resulting pieces to be colored =-=[13, 9]-=-. Chow used this observation in his priority-based coloring scheme; when his allocator encountered a live range that could not be kept in a register, it broke it into smaller pieces. Briggs experiment... |
75 | Spill Code Minimization Techniques for Optimizing Compilers
- Bernstein, Goldin, et al.
- 1989
(Show Context)
Citation Context ...s on the coloring heuristic that increase the number of live ranges that can be colored [4, 5]. Bernstein et al. showed that different heuristics for choosing spill candidates can improve the results =-=[2]-=-. These modifications have reduced the cost of spilling, but they have not eliminated it. The remaining problem is not a poor coloring heuristic; these routines have regions where they need more regis... |
56 | Memoryhierarchy management - Carr - 1992 |
48 |
Register allocation via coloring. Computer Languages
- Chaitin, Auslander, et al.
- 1981
(Show Context)
Citation Context ...ooper 1 and L. Taylor Simpson 2 1 Rice University, Houston, Texas, USA 2 Trilogy Development Group, Austin, Texas, USA Abstract. Graph coloring is the dominant paradigm for global register allocation =-=[8, 7, 4]-=-. Coloring allocators use an interference graph, Z, to model conflicts that prevent two values from sharing a register. Nodes in 2: represent live ranges. An edge between two nodes indicates that they... |
47 | Automatic storage optimization - Fabri - 1979 |
44 | An experiment with inline substitution
- COOPER, HALL, et al.
- 1991
(Show Context)
Citation Context ...8 128 0.00 128 fftf 128 128 0.00 128 radf5 123 132 -7.32 96 radb5 123 118 4.07 82 putb 43 44 -2.33 38 getb 26 22 15.38 20 rfftil 24 19 20.83 20 slv2xy 11 9 18.18 11 pdiag 6 0 100.00 6 transformations =-=[10, 6, 14]-=-. As these techniques become more widely applied, compilers will need to deal with their consequences. For this study, we focused on routines from the program wave5 in the SPEC95 benchmark suite. Thes... |
41 | Spill code minimization via interference region spilling - Bergner, Dahl, et al. - 1997 |
3 |
How to Build an Interference Graph,” Software–Practice and Experience
- Cooper, Torczon
- 1998
(Show Context)
Citation Context ...it matrix may be space inefficient for C. A recent study of techniques for building interference graphs showed that a closed hash table implementation can use less space for sufficiently large graphs =-=[11]-=-. C should reach that threshold in half the time. These suggestions should reduce the space impact of building C rather than 27.180 Fig. 4, Building the containment graph buildContainmentGraph () All... |
1 |
a~ld Matthew O'Keefe. Spill code minimization via interference region spilfing
- Bergner, Dabl, et al.
- 1997
(Show Context)
Citation Context ...it into smaller pieces. We are not the first to study this problem. Bergner et M. describe a heuristic called interference region spilling that reduces the amount of code needed to spill a live range =-=[1]-=-. Briggs experimented with an aggressive form of live range splitting; he saw mixed results [3, see Chapter 6]. This paper presents a passive form of live range splitting that uses splitting as an alt... |
1 |
Memory-Hierarchy Management
- Carl
- 1992
(Show Context)
Citation Context ...8 128 0.00 128 fftf 128 128 0.00 128 radf5 123 132 -7.32 96 radb5 123 118 4.07 82 putb 43 44 -2.33 38 getb 26 22 15.38 20 rfftil 24 19 20.83 20 slv2xy 11 9 18.18 11 pdiag 6 0 100.00 6 transformations =-=[10, 6, 14]-=-. As these techniques become more widely applied, compilers will need to deal with their consequences. For this study, we focused on routines from the program wave5 in the SPEC95 benchmark suite. Thes... |
1 |
Automatic storage optimization. SIGPLAN Notices
- Fabri
- 1979
(Show Context)
Citation Context ...se maximal-length live ranges as the basic unit of allocation. It has long been recognized that breaking a live range into smaller pieces may allow some, or all, of the resulting pieces to be colored =-=[13, 9]-=-. Chow used this observation in his priority-based coloring scheme; when his allocator encountered a live range that could not be kept in a register, it broke it into smaller pieces. Briggs experiment... |