Profile Guided Code Positioning

Profile Guided Code Positioning,10.1145/93542.93550,Sigplan Notices,Karl Pettis,Robert C. Hansen

Profile Guided Code Positioning   (Citations: 417)
BibTex | RIS | RefWorks Download
This paper presents the results of our investigation of code positioning techniques using execution profile data as input into the compilation process. The primary objective of the positioning is to reduce the overhead of the instruction memory hierarchy. After initial investigation in the literature, we decided to implement two prototypes for the Hewlett-Packard Precision Architecture (PA-RISC). The first, built on top of the linker, positions code based on whole procedures. This prototype has the ability to move procedures into an order that is deter- mined by a "closest is best" strategy. The second prototype, built on top of an existing optimizer package, positions code based on basic blocks within pro- cedures. Groups of basic blocks that would be better as straight-line sequences are identified as chains. These chains are then ordered according to branch heuristics. Code that is never executed during the data collection runs can be physi- cally separated from the primary code of a procedure by a technique we devised called procedure splitting. The algorithms we implemented are described through exam- ples in this paper. The performance improvements from our work are also summarized in various tables and charts.
Journal: Sigplan Notices - SIGPLAN , vol. 25, no. 6, pp. 16-27, 1990
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
Sort by: