An improved technique for incrementally updating a source code representation having cloned variable name definitions to static single assignment (SSA) form is described. The technique receives an intermediate representation of a source program in non-SSA form having one or more cloned variable name definitions that correspond to an original variable name. All the original variable names and their corresponding cloned variable names are collected. An iterative dominance frontier set for those nodes containing a cloned variable name definition or an original variable name definition is formed. This iterative dominance frontier set is then used to determine the nodes in which a single phi-function is inserted for each original variable name. Each use of an original variable name is changed to the cloned variable name that reaches the use. The arguments of the inserted phi-functions are then updated with the cloned variable names that reach the inserted phi-functions. Finally, all dead instructions including the original variable definitions, redundant cloned variable definitions, and redundant inserted phi-functions are eliminated.

Eine verbesserte Technik für eine Quellenprogrammdarstellung zusätzlich aktualisieren, die variable Namensdefinitionen zur statischen einzelne Anweisung (SSA) geklont wird Form wird beschrieben. Die Technik empfängt eine Zwischendarstellung eines Quellenprogramms in der non-SSA Form, die eins hat oder mehr klonten variable Namensdefinitionen, die einem ursprünglichen variablen Namen entsprechen. Alle ursprünglichen variablen Namen und ihre entsprechenden geklonten variablen Namen werden gesammelt. Ein wiederholender Herrschaftgrenzsatz für jene Nullpunkte, die eine geklonte variable Namensdefinition oder eine ursprüngliche variable Namensdefinition enthalten, wird gebildet. Dieser wiederholende Herrschaftgrenzsatz wird dann benutzt, um die Nullpunkte festzustellen, in denen eine einzelne Phi-Funktion für jeden ursprünglichen variablen Namen eingesetzt wird. Jeder Gebrauch von einem ursprünglichen variablen Namen wird zum geklonten variablen Namen geändert, der den Gebrauch erreicht. Die Argumente der eingesetzten Phi-Funktionen werden dann mit den geklonten variablen Namen aktualisiert, die die eingesetzten Phi-Funktionen erreichen. Schließlich werden alle toten Anweisungen einschließlich die ursprünglichen variablen Definitionen, die überflüssigen geklonten variablen Definitionen und die überflüssigen eingesetzten Phi-Funktionen beseitigt.

 
Web www.patentalert.com

< (none)

< Inhibition of hair growth

> Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables

> (none)

~ 00008