1. A method, in a data processing system, for optimizing program code, comprising: receiving source code for a program in a compiler; and optimizing, in a loop optimization engine, the source code for execution by a computing device, wherein optimizing the source code comprises: generating a program statement view of the source code; generating a program loop view of the source code based on the program statement view; applying one or more code generation optimizations to the program loop view of the source code to generate an optimized program loop view of the source code, wherein the one or more code generation optimizations result in a lower control flow overhead of the optimized program loop view of the source code when compared to control flow overhead of the program loop view of the source code, and wherein the one or more code generation optimizations do not modify a program order of statements in the optimized program loop view from a program order present in the program statement view of the source code; converting the optimized program loop view of the source code back into a first optimized program statement view of the source code through a re-entrance path; performing one or more additional optimizations on the first optimized program statement view of the source code; and outputting resulting optimized code, as a result of optimizing the source code, to the compiler for generation of executable code to be executed on a computing device.