Download:
|
by Sangyeun Cho, Jenn-yuan Tsai, Yonghong Song, Bixia Zheng, Stephen J. Schwinn, Xin Wang, Qing Zhao, Zhiyuan Li, David J. Lilja
http://www.cs.umn.edu/Research/Agassiz/Paper/cho-icpp98.ps.gz
Add To MetaCart
Abstract:
We propose a new universal High-Level Information (HLI) format to effectively integrate front-end and back-end compilers by passing front-end information to the back-end compiler. Importing this information into an existing backend leverages the state-of-the-art analysis and transformation capabilities of existing front-end compilers to allow the back-end greater optimization potential than it has when relying on only locally-extracted information. A version of the HLI has been implemented in the SUIF parallelizing compiler and the GCC back-end compiler. Experimental results with the SPEC benchmarks show that HLI can provide GCC with substantially more accurate data dependence information than it can obtain on its own. Our results show that the number of dependence edges in GCC can be reduced by an average of 48 % for the integer benchmark programs and an average of 54 % for the floating-point benchmark programs studied, which provides greater flexibility to GCC's code scheduling pass. Even with the scheduling optimization limited to basic blocks, the use of HLI produces moderate speedups compared to using only GCC's dependence tests when the optimized programs are executed on MIPS R4600 and R10000 processors. 1
Citations
|
458
|
Sortware Pipelining: An Effective Scheduling Technique for VLIW Machines
– Lam
- 1991
|
|
357
|
Efficient Context-Sensitive Pointer Analysis for C Programs
– Wilson, Lam
- 1995
|
|
342
|
Context-sensitive interprocedural points-to analysis in the presence of function pointers
– Emami, Ghiya, et al.
|
|
296
|
Automatic Translation of FORTRAN programs to vector forms
– Kennedy, Allen
- 1987
|
|
269
|
Bulldog: A Compiler for VLIW Architectures
– Ellis
- 1985
|
|
142
|
Compiling for the Cydra 5
– Dehnert, Towel
- 1993
|
|
137
|
A Retargetable C Compiler: Design and Implementation
– Hanson, Fraser
- 1995
|
|
67
|
A portable machine-independent global optimizer—Design and measurements
– CHOW
- 1983
|
|
20
|
Experience with Efficient Array Data Flow Analysis for Array Privatization
– Gu, Li, et al.
- 1997
|
|
15
|
Automatic Selection of high-order transformations
– Sarkar
- 1997
|
|
8
|
et al., "The Multiflow Trace Scheduling Compiler
– Lowney
- 1993
|
|
7
|
et al. "SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers
– Wilson
- 1994
|
|
6
|
Hwu et al., "The Superblock: An effective technique for VLIW and superscalar compilation
– W
- 1993
|
|
5
|
The PTRAN Parallel Programming System, Parallel Functional Programming Languages and
– Sarkar
- 1991
|
|
4
|
High-level information - an approach for integrating front-end and back-end compilers
– Cho, Tsai, et al.
- 1998
|
|
4
|
Using and Porting GNU CC (version 2.7), Free Software Foundation
– Stallman
- 1995
|
|
2
|
The HLI Implementor's Guide (v0.1
– Cho, Song
- 1997
|
|
2
|
et al. "The Structure of an Advanced Vectorizer for Pipelined Processors
– Kuck
- 1980
|
|
2
|
Polychronopoulos et al., "Parafrase-2: An environment for parallelizing, partitioning, synchronizing and scheduling programs on multiprocessors
– D
- 1989
|
|
2
|
The HLI Interface Specification for BackEnd Compilers (v0.1
– Schwinn
- 1997
|
|
2
|
High-Level Information Format for Integrating Front-End and Back-End Compilers (v0.2
– Tsai
- 1997
|
|
1
|
et al. "A Uniform Internal Representation for High-Level and Instruction-Level Transformations
– Ayguade
- 1994
|
|
1
|
et al. "Parallel Programming with Polaris
– Blume
- 1996
|