Patent Document ID: 20180024822
Application ID: 15214620
Patent Flag: 0

Claim One:
1. A method for partial connection of iterations during loop unrolling during compilation of a program by a compiler, said method comprising: selectively connecting, by one or more processors of a computer system during the compilation, unrolled loop iterations of a loop in the program, wherein said selectively connecting unrolled loop iterations comprises redirecting, to the head of the loop, edges of a control flow for the program that are classed as undesirable from one iteration of the loop to a next iteration of the loop, and wherein the head of the loop and a start of a replicated loop body of the loop are equivalent points of the control flow for the program; removing, by the one or more processors during the compilation, merges on a path of hot code in the loop to increase a scope for optimization of the program; and extending, by the one or more processors during the compilation, a sequence of blocks on the path of hot code, unpolluted by a control flow of a path of cold code, wherein information computed by an optimizer in or invoked by the compiler about the hot code in a first iteration of the loop is used to further optimize a second iteration of the loop, and wherein the loop is further unrolled.