Accession Number : ADA307735

Title :   Global Register Allocation Based on Graph Fusion.

Descriptive Note : Research rept.,

Corporate Author : CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE

Personal Author(s) : Lueh, Guei-Yuan ; Gross, Thomas ; Adl-Tabatabai, Ali-Reza

PDF Url : ADA307735

Report Date : MAR 1996

Pagination or Media Count : 22

Abstract : A register allocator must effectively deal with three issues: live range splitting, live range spilling, and register assignment. This paper presents a new coloring-based global register allocation algorithm that addresses all three issues in an integrated way: the algorithm starts with an interference graph for each region of the program, where a region can be a basic block, a loop nest, a superblock, a trace, or another combination of basic blocks. Region formation is orthogonal to register allocation in this framework. Then the interference graphs for adjacent regions are fused to build up the complete interference graph. The algorithm delays decisions on splitting, spilling, and register assignment, and therefore, the register allocation may be better than what is obtained by a Chatin-style allocator. This algorithm uses execution probabilities, derived from either profiles or static estimates, to guide fusing interference graphs, allowing an easy integration of this register allocator into a region-based compiler.

Descriptors :   *DATA FUSION, *COMPILERS, ALGORITHMS, SOFTWARE ENGINEERING, OPTIMIZATION, DATA MANAGEMENT, GRAPHS, COMPUTER PROGRAMMING, PROBABILITY, PROGRAMMING LANGUAGES, PARALLEL PROCESSING, SCHEDULING, INTERFERENCE, ALLOCATIONS, HEURISTIC METHODS, SYSTEMS ANALYSIS, SPLITTING, FIELDS(COMPUTER PROGRAMS).

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE