: 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 t...