Profile guided code positioning

Author:

Pettis Karl1,Hansen Robert C.1,Davidson Jack W.2

Affiliation:

1. Hewlett-Packard Company, Cupertino, CA

2. University of Virginia, Charlottesville, VA

Abstract

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 determined by a "closest is best" strategy.The second prototype, built on top of an existing optimizer package, positions code based on basic blocks within procedures. 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 physically separated from the primary code of a procedure by a technique we devised called procedure splitting. The algorithms we implemented are described through examples in this paper. The performance improvements from our work are also summarized in various tables and charts.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference25 articles.

1. ASSOCIATION FOR COMPUTING MACHINERY. Sigplan awards. http://www.acm.org/sigplan/awards.htm. ASSOCIATION FOR COMPUTING MACHINERY. Sigplan awards. http://www.acm.org/sigplan/awards.htm.

2. Dynamo

3. A portable global optimizer and linker

4. Optimizing executables on windows NT with spike;COHN R. S.;Digital Technical Journal,1997

5. Software profiling for hot path prediction

Cited by 6 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Reordering Functions in Mobiles Apps for Reduced Size and Faster Start-Up;ACM Transactions on Embedded Computing Systems;2024-06-10

2. Optimizing Function Layout for Mobile Applications;Proceedings of the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems;2023-06-13

3. Automated Software Diversity;Synthesis Lectures on Information Security, Privacy, and Trust;2015-12-22

4. Branch Prediction-Directed Dynamic Instruction Cache Locking for Embedded Systems;ACM Transactions on Embedded Computing Systems;2014-12-15

5. Compiler Assisted Instruction Relocation for Performance Improvement of Cache Hit Rate and System Reliability;2014 IEEE Eighth International Conference on Software Security and Reliability-Companion;2014-06

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3