Efficiently Building the Gated Single Assignment Form in Codes with Pointers in Modern Optimizing Compilers

  • Authors:
  • Manuel Arenaz;Pedro Amoedo;Juan Touriño

  • Affiliations:
  • Computer Architecture Group Department of Electronics and Systems, University of A Coruña, A Coruña, Spain;Computer Architecture Group Department of Electronics and Systems, University of A Coruña, A Coruña, Spain;Computer Architecture Group Department of Electronics and Systems, University of A Coruña, A Coruña, Spain

  • Venue:
  • Euro-Par '08 Proceedings of the 14th international Euro-Par conference on Parallel Processing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Understanding program behavior is at the foundation of program optimization. Techniques for automatic recognition of program constructs characterize the behavior of code fragments, providing compilers with valuable information to guide code optimizations. The XARK compiler framework provides a complete, robust and extensible solution to the automatic recognition problem that was shown to be effective to characterize the behavior of Fortran77 applications. Our goal is to migrate XARK to the GNU GCC compiler in order to widen its scope of application to program constructs (e.g., pointers, objects) supported by other programming languages (e.g., Fortran90/95, C/C++, Java). The first step towards this goal is the translation of the GCC intermediate representation into the Gated Single Assignment (GSA) form, an extension of Static Single Assignment (SSA) that captures data/control dependences and reaching definition information for scalar and array variables. This paper presents a simple and fast GSA construction algorithm that takes advantage of the infrastructure for building the SSA form available in modern optimizing compilers. An implementation on top of the GIMPLE-SSA intermediate representation of GCC is described and evaluated in terms of memory consumption and execution time using the UTDSP, Perfect Club and SPEC CPU2000 benchmark suites.