Patent ID: 8677330

Claim:
A compiling method, for converting a source program into a corresponding object program to be executed by a processor having a plurality of execution units operable in parallel, the object program including a loop kernel block and a basic block preceding said loop kernel block, and the basic block including a producer instruction and the loop kernel block including a consumer instruction requiring a value produced by said producer instruction, which method is carried out by electronic data processing apparatus and comprises the steps of: (a) scheduling the instructions of the loop kernel block, including scheduling said consumer instruction for execution by a first one of the execution units; and (b) after step (a) scheduling the instructions of the basic block, including scheduling said producer instruction for execution by a second one of the execution units, and also including scheduling at least one move instruction to create an availability chain within said basic block for moving the required value to a first point accessible by said consumer instruction from a second point accessible by said producer instruction.