Comparison and evaluation of back-translation algorithms for static single assignment forms

  • Authors:
  • Masataka Sassa;Yo Ito;Masaki Kohama

  • Affiliations:
  • Department of Mathematical and Computing Sciences, Tokyo Institute of Technology, 2-12-1, O-okayama, Meguro-ku, Tokyo 152-8552, Japan;Department of Mathematical and Computing Sciences, Tokyo Institute of Technology, 2-12-1, O-okayama, Meguro-ku, Tokyo 152-8552, Japan;Department of Mathematical and Computing Sciences, Tokyo Institute of Technology, 2-12-1, O-okayama, Meguro-ku, Tokyo 152-8552, Japan

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The static single assignment form (SSA form) is a popular intermediate representation in compilers. In the SSA form, the definition of each variable textually appears only once in the program by using a hypothetical function called a @f-function. Because these functions are nonexecutable, it is necessary to delete the @f-functions and return the SSA form to the normal form before code generation. This conversion is called SSA back-translation. Two major algorithms exist for SSA back-translation. One by Briggs et al., the other by Sreedhar et al. To date, there has been almost no research that compares these SSA back-translation algorithms. In this paper, we clarify the merits and demerits of these algorithms. We also propose an improvement to Briggs' algorithm. We then compare the three methods through experiments using the SPEC benchmarks. Our experiments show that in most cases, Sreedhar's method is the more favorable. The efficiency of its object code is better than that from Briggs' method by a few percent in general, up to a maximum of 28%. The experiments have also clarified several characteristic features of these methods.