Accurate and practical profile-driven compilation using the profile buffer

被引:20
作者
Conte, TM
Menezes, KN
Hirsch, MA
机构
来源
PROCEEDINGS OF THE 29TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE - MICRO-29 | 1996年
关键词
D O I
10.1109/MICRO.1996.566448
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Profiling is a technique of gathering program statistics in order to aid program optimization. In particular; it is an essential component of compiler optimization for the extraction of instruction-level parallelism. Code instrumentation has been the most popular method of profiling. However real-time, interactive, and transaction processing applications suffer from the high execution-time overhead imposed by software instrumentation. This paper suggests the use of hardware dedicated to the task of profiling. The hardware proposed consists of a set of counters, the profile buffer. A profile collection method that combines the use of hardware, the compiler and operating system support is described. Three methods for profile buffer indexing, address-mapping, selective indexing, and compiler indexing are presented that allow this approach to produce accurate profiling information with very little execution slowdown. The profile information obtained is applied to a prominent compiler optimization, namely superblock scheduling. The resulting instruction-level parallelism approaches that obtained through the use of perfect profile information.
引用
收藏
页码:36 / 45
页数:10
相关论文
empty
未找到相关数据