13. An article of manufacture comprising a program storage medium having computer readable program code embodied therein for optimizing a source program for execution on a computer, the computer readable program code including computer readable program code for representing a source program having at least one loop, and at least one instruction having at least one variable, by a graph including a plurality of nodes, each node including at least one of the instructions, the article of manufacture comprising: computer readable program code for including definition instructions, that establishes at least one original name variable, at least one cloned name variable, or at least one incarnation name variable; computer readable program code for including use instructions that include use of the original name, use of the cloned name, or use of the incarnation name; computer readable program code for maintaining correspondence between the cloned name and the original name; computer readable program code for including a set of at least one first instruction that identifies nodes having the definition instructions and the identified nodes are inside of the loop; computer readable program code for including a set of at least one second instruction that identifies nodes having the use instructions and the identified nodes are outside of the loop; computer readable program code for including a set of at least one tail node; computer readable program code for including a set of at least one third instruction having the original names that are in both the first instruction set and the second instruction set; wherein, for each tail node in the set of tail nodes: wherein, when the original name is in the tail node and the third instruction set, computer readable program code for inserting in the tail node a cloned definition instruction that establishes the cloned name by the correspondence to the original name; and wherein, for all the use instructions in the second instruction set, when the original name is used, and when the cloned name is established in the cloned definition instruction, computer readable program code for replacing the original name with the corresponding cloned name; and computer readable program code for generating an executable module from the graph for execution on the computer thereby optimizing the source program with the cloned name.
18. The article of manufacture as set forth in claim 13, further comprising: computer readable program code for replacing the original name, further having: computer readable program code for establishing when the correspondence of the all uses of the original name that are in the second instruction set is between more than one of the cloned names, and for each of the use instructions that is in the second instruction set and that is not in the tail node set: computer readable program code for including an incoming names set; computer readable program code for including a fourth instruction that corresponds to the use instruction that is in the second instruction set and that is not in the tail node set; computer readable program code for including a first node that includes the fourth instruction, and that includes use of at least one of the original names; computer readable program code wherein for each node that precedes the first node: i. computer readable program code for labeling a second node that precedes the first node; ii. computer readable program code for including a new name variable; iii. computer readable program code for searching in the second node for the correspondence between the original name and the cloned name; iv. computer readable program code for assigning the new name the cloned name when the correspondence between the original name and the cloned name is found; v. computer readable program code for adding the new name to the incoming names set; and vi. computer readable program code for repeating (i) through (v) until all the correspondence between the original name and the cloned name has been found; if the incoming names set has more than one member, computer readable program code for merging the members of the incoming names set into a fifth variable, and setting the cloned name to the fifth variable thereby optimizing the source program by establishing the new name; and if the incoming names set has one member, computer readable program code for setting the cloned name to the one member of the incoming names set thereby optimizing the source program by establishing the new name.