A Basic-Block Reordering Algorithm Based on Structural Analysis

刘先华,杨阳,张吉豫,程旭
DOI: https://doi.org/10.3724/sp.j.1001.2008.01603
2008-01-01
Journal of Software
Abstract:Basic-Block reordering is a kind of compiler optimization technique which has the effect of reducing branch penalty and I-cache miss cost by reordering basic blocks in memory. A new basic-block reordering algorithm based on structural analysis is presented. The algorithm takes the architectural branch cost model and basic-block layout cost model into consideration, uses the execution frequencies of control-flow edges from profile information, builds a local structural optimization policy and utilizes it in reordering program's basic blocks. The algorithm is implemented based on UniCore architecture, experimental results show that it better improved programs' performance with a complexity of only O(n×logn).
What problem does this paper attempt to address?