2 research outputs found

    A Region-Based Compilation Infrastructure

    No full text
    The traditional framework for back-end compilation is based on the scope of functions, which is a natural boundary to partition an entire program for compilation. However, the sizes and structures of functions may not be the best scope for program analyses and transformations when considering compilation resources (e.g. time and space), performance, and functionality. This problem is particularly pronounced when modern compiler optimizations resort to sophisticated and expensive algorithms to aim at high performance computing. Furthermore, it is often beneficial to give priority to optimize the more profitable portions of programs. Earlier works have proposed ways to allow some control on the size and structure of optimization scope. In this paper, we develop a new region-based compilation framework driven by the considerations of performance opportunities and compilation resources. In addition, we allow some optimization-directed attributes communicated from one optimization phase to another on a region basis to guide subsequent optimizations. This region-based framework has been implemented in the Open Research Compiler targeting Itanium# Processor Family (IPF). Experimental results from the SPEC2000Int programs show that this infrastructure provides an effective control on forming regions to meet the requirements of different optimizations. For example, the compilation time of instruction scheduling is significantly reduced by this region formation infrastructure while preserving or improving the overall performance. At the highest optimization level, the performance of eon program has a 15.6% improvement by employing this region-based infrastructure
    corecore