Patent ID: 8484630
Filing Date: 2013-07-09
Classification: G06F

Abstract:
1. A method of compiler optimization, the method comprising: performing analysis of a source code to identify a use site and an associated definition site in a portion of the source code; building a control flow graph and a data flow graph wherein at least one live range is identified using the control flow graph and a data flow graph; determining whether the at least one identified live range is a candidate for code motion in the source code; designating, based on an analysis of the at least one live range, variables in the source code that are candidates for a renaming of the variables, wherein each live range of variables is computed recursively; determining, based on predetermined criteria, whether each live range of variables are candidates for code motion in the source code; responsive to a positive determination, modifying the code at the associated definition site and the use site; and optimizing the code in the compiler based on the modification by moving source code from the use site to the associated definition site, wherein a temporary variable is defined for each relocated variable.