A type system equivalent to static single assignment

Yutaka Matsuno, Atsushi Ohori

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Citations (Scopus)

Abstract

This paper develops a static type system equivalent to static single assignment (SSA) form. In this type system, a type of a variable at some program point represents the control flows from the assignment statements that reach the program point. For this type system, we show that a derivable typing of a program corresponds to the program in SSA form. By this result, any SSA transformation can be interpreted as a type inference process in our type system. By adopting a result on efficient SSA transformation, we develop a type inference algorithm that reconstructs a type annotated code from a given code. These results provide a static alternative to SSA based compiler optimization without performing code transformation. Since this process does not change the code, it does not incur overhead due to insertion of φ functions. Another advantage of this type based approach is that it is not constrained to naming mechanism of variables and can therefore be combined with other static properties useful for compilation and code optimization such as liveness information of variables. As an application, we express optimizations as type-directed code transformations.

Original languageEnglish
Title of host publicationPPDP'06 - Proceedings of the Eight ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
PublisherAssociation for Computing Machinery
Pages249-259
Number of pages11
ISBN (Print)1595933883, 9781595933881
DOIs
Publication statusPublished - 2006
Externally publishedYes
EventPPDP'06 - 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming - Venice, Italy
Duration: 2006 Jul 102006 Jul 12

Publication series

NamePPDP'06 - Proceedings of the Eight ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
Volume2006

Other

OtherPPDP'06 - 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
Country/TerritoryItaly
CityVenice
Period06/7/1006/7/12

Keywords

  • Compiler optimization
  • Static single assignment form
  • Type system

ASJC Scopus subject areas

  • Engineering(all)

Fingerprint

Dive into the research topics of 'A type system equivalent to static single assignment'. Together they form a unique fingerprint.

Cite this