Compiler optimizer that moves loop invariant expressions
AssigneeNEC Corporation
InventorShinji Hirai
Life of this patent
Estimating the term…
Loading patent…
AssigneeNEC Corporation
InventorShinji Hirai
Estimating the term…
A compiler optimizing device provided with an optimizing section comprising an update variable control table to control the update variables to be changed in relation to the functions contained in the loop invariant expression, an update variable extraction section to extract the update variables for each function contained in the loop invariant expression for registration to the update variable control table, an update variable review section to register the variables which are, when a certain function in the loop invariant expression calls another function, updated by the called function to the update variable control table as the update variables of the calling function, and a reference loop invariant expression transfer section to transfer the loop invariant expressions out of the loop based on the update variables recognized in access with the update variable control table.
A compiler optimizing device having a lexical analysis means to decompose a source program into lexical units, a syntactic analysis means for syntactic analysis upon receipt of lexical analysis result, an optimizing means to optimize a code by transferring loop invariant expressions, and a code generation means to generate an object code upon receipt of optimization result,
A compiler optimization method comprising the steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
Encoding: optimisation
Computing and data processing
Term ended 15 Jan 2017 (estimated)
USPTO file history isn’t available for this patent, so only indexed dates are shown.
1. Field of the Invention
The present invention relates to an optimizing device for code optimization in the compiler and particularly relates to a compiler optimizing device which makes optimization by transfer of the loop invariant expressions and the method therefor.
2. Description of the Related Art
The present invention will be understood more fully from the detailed description given herebelow and from the accompanying drawings of the preferred embodiment of the invention, which, however, should not be taken to be limitative to the invention, but are for explanation and understanding only.
In the drawings:
FIG. 1 is a block diagram to show the configuration of a compiler optimizing device according to an embodiment of the present invention;
The preferred embodiment of the present invention will be discussed hereinafter in detail with reference to the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to those skilled in the art that the present invention may be practiced without these specific details. In other instance, well-known structures are not shown in detail in order to unnecessary obscure the present invention.
FIG. 1 is a block diagram to show the configuration of a compiler optimizing device according to an embodiment of the present invention. As shown in the figure, an optimizing device of this embodiment comprises a lexical analysis section 10 which decomposes the source program into lexical units, a syntactic analysis section 20 which, upon receipt of the lexical analysis result, makes syntactic analysis, an optimizing section 30 which optimizes the code by transferring the loop invariant expressions, and a code generation section 70 which, upon receipt of the optimization result, generates the object code.
The optimizing section 30 is, as shown in the figure, provided with an update variable extraction section 40, an update variable review section 50, a reference loop invariant expression transfer section 60 and an update variable control table 300.