Register Allocation
2 Followers
Recent papers in Register Allocation
This paper presents recursion unrolling, a technique for improving the performance of recursive computations. Conceptually, recursion unrolling inlines recursive calls to reduce control flow overhead and increase the size of the basic... more
Version 6 of Sun Microsystems ’ Java HotSpotTM VM ships with a redesigned version of the client just-in-time compiler that includes several research results of the last years. The client compiler is at the heart of the VM configuration... more
A methodology for the register allocation problem in high-level synthesis based on the scanline sweep algorithm is introduced. The algorithm is computationally efficient and easy to understand and to implement, and it guarantees an... more
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... more
Improving testability during the early stages of High-Level Synthesis (HLS) has several benefits, including reduced test hardware overhead, reduced test costs, reduced design iteration, and significant improved fault coverage. In this... more
Recently, multi-core architectures with alternative memory subsystem designs have emerged. Instead of using hardware- managed cache hierarchies, they employ software-managed embedded memory. An open question is what programming and... more
Memory or registers are used to store the results of computation of a program. As compared to memory, accessing a register is much faster, but they are scarce resources, in real-time embedded systems and have to be utilized very... more
Compiler writers have crafted many heuristics over the years to approximately solve NP-hard problems efficiently. Finding a heuristic that performs well on a broad range of applications is a tedious and difficult process. This paper... more
Abstract—We address the problem of code optimization for embedded DSP microprocessors. Such processors (e.g., those in the TMS320 series) have highly irregular datapaths, and conven-tional code generation methods typically result in... more
This paper addresses the problem of optimal global register allocation. The register allocation problem is expressed as an integer linear programming problem and solved optimally. The model is more flexible than previous graph-coloring... more
Abstract High-performance microprocessors use large, heavily ported physical register files (RFs) to increase the instruction throughput. The high complexity and power dissipation of such RFs mainly stem from the need to maintain each and... more
Page 1. Code Compilation for an Explicitly Parallel Register-Sharing Architecture AlexGontmakher Technion, Israel Institute of Technology gsasha@cs.technion.ac.il Avi Mendelson Intel Haifa Research Laboratory avi.mendelson@intel.com ...
Scratchpad memory (SPM), a fast on-chip SRAM managed by software, is widely used in embedded systems. This article introduces a general-purpose compiler approach, called memory coloring, to assign static data aggregates, such as arrays... more