Patent ID: 8087011
Filing Date: 2011-12-27
Classification: G06F

Abstract:
1. A method, in a data processing system, for optimizing program code, comprising: receiving source code for a program in a compiler executing on the data processing system; transforming, by the data processing system, the source code into a program statement view of the source code; transforming, by the data processing system, the program statement view of the source code into a program loop view of the source code; applying, by the data processing system, one or more code generation optimizations to the program loop view of the source code to generate optimized code; and outputting, by the data processing system, the optimized code to a compiler for use in generating executable code for execution on a computing device, wherein transforming the program statement view of the source code into a program loop view of the source code comprises applying a domain stretching operation to domains of statements in the program statement view of the source code to normalize the domains by stretching each domain to its largest possible value without adding execution points; wherein applying a domain stretching operation to domains of statements in the program statement view comprises, for each statement and each time dimension: statically determining a factor f that is greater than one and will divide the time dimension t from a remapping matrix; checking the factor f to ensure that the factor f divides every factor on all time, domain, and parametric dimensions; and stretching a constraint associated with the domain of the statement based on the factor.