首页   按字顺浏览 期刊浏览 卷期浏览 Scalar replacement in the presence of conditional control flow
Scalar replacement in the presence of conditional control flow

 

作者: Steve Carr,   Ken Kennedy,  

 

期刊: Software: Practice and Experience  (WILEY Available online 1994)
卷期: Volume 24, issue 1  

页码: 51-77

 

ISSN:0038-0644

 

年代: 1994

 

DOI:10.1002/spe.4380240104

 

出版商: John Wiley&Sons, Ltd.

 

关键词: Compilers;Optimization;Register allocation

 

数据来源: WILEY

 

摘要:

AbstractMost conventional compilers fail to allocate array elements to registers because standard data‐flow analysis treats arrays like scalars, making it impossible to analyze the definitions and uses of individual array elements. This deficiency is particularly troublesome for floating‐point registers, which are most often used as temporary repositories for subscripted variables.This paper presents a source‐to‐source transformation, calledscalar replacement, that finds opportunities for reuse of subscripted variables and replaces the references involved by references to temporary scalar variables. The scalar replaced variables are more likely to be assigned to registers by the coloring‐based register allocators found in most compilers than are their unreplaced counterparts. The algorithm presented here extends previous techniques for scalar replacement by allowing the presence of forward conditional control flow within loop bodies through the mapping of partial redundancy elimination to scalar replacement. Finally, experimental results show that scalar replacement is extremely effective. On kernels, integer‐factor improvements over code generated by a good optimizing compiler of conventional design a

 

点击下载:  PDF (1488KB)



返 回