Appeal No. 2002-0270 Application No. 09/099,584 BACKGROUND The invention is directed to a method and apparatus for compiler optimization. The process of moving loop-invariant computations outside of a program loop is known in the art as “hoisting.” According to appellants, prior art hoisting methods considered computations one at a time, but did not consider groups of computations taken together, as in appellants’ invention. (Spec. at 2, ll. 6-23.) Representative claim 2 is reproduced below. 2. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a computer program residing in the memory; and a hoisting mechanism residing in the memory and executed by the at least one processor, the hoisting mechanism analyzing an instruction within a loop in the computer program, calculating a lifetime of at least one fixed processor resource defined by the instruction, and determining whether a computation in the instruction may be hoisted out of the loop along with a computation in at least one other instruction in the lifetime of the at least one fixed processor resource according to at least one hoisting criterion, wherein the hoisting mechanism optimizes the computer program by reducing the number of instructions in the loop. The examiner relies on the following reference: Aho et al. (Aho), “Compilers: Principles, Techniques, and Tools,” Addison-Wesley Publishing Co., pp. 1-5 and 585-645 (1986).1 1 In the Examiner’s Answer, the examiner also relies on pages 516-518 and 568 of the reference. -2-Page: Previous 1 2 3 4 5 6 7 NextLast modified: November 3, 2007