Wish Branches: Combining Conditional Branching and Predication for Adaptive Predicated Execution
Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture
An overview of the open research compiler
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Hi-index | 0.00 |
The traditional framework for back-end compilation isbased on the scope of functions, which is a naturalboundary to partition an entire program for compilation.However, the sizes and structures of functions may not bethe best scope for program analyses and transformationswhen considering compilation resources (e.g. time andspace), performance, and functionality. This problem isparticularly pronounced when modern compileroptimizations resort to sophisticated and expensivealgorithms to aim at high performance computing.Furthermore, it is often beneficial to give priority tooptimize the more profitable portions of programs. Earlierworks have proposed ways to allow some control on the sizeand structure of optimization scope. In this paper, wedevelop a new region-based compilation framework drivenby the considerations of performance opportunities andcompilation resources. In addition, we allow someoptimization-directed attributes communicated from oneoptimization phase to another on a region basis to guidesubsequent optimizations. This region-based frameworkhas been implemented in the Open Research Compilertargeting Itanium. Processor Family (IPF). Experimentalresults from the SPEC2000Int programs show that thisinfrastructure provides an effective control on formingregions to meet the requirements of different optimizations.For example, the compilation time of instruction schedulingis significantly reduced by this region formationinfrastructure while preserving or improving the overallperformance. At the highest optimization level, theperformance of eon program has a 15.6% improvement byemploying this region-based infrastructure.