30-10-2009, 03:33 PM
Abstract Static single-assignment is a form of program representation which is becoming increasingly popular because of its ease in handling optimizations. Transforming given code into SSA form results in a code for which data analysis is simpler as it is the inherent property of SSA form. Though there exists formal specifications for code on general form, the framework of dependency relations and formal specification specific to code in SSA form are not present in literature. In this thesis we have specified a framework for specifying transformations formally. Using this specification, transformers are automatically generated for code in SSA form. It is shown that it is beneficial for specifying these transformation on SSA form as it gives scope for further study by comparing these transformations for similarities. Comparing these specifications, especially Constant and Copy propagations, it is seen that these two specifications are much similar and lead to the combination of these algorithms. Even Dead Code elimination can be done along with this combination. [attachment=334]