Retargeting optimized code by matching tree patterns in directed acyclic graphs
First Claim
Patent Images
1. A method of programming a first processor, comprising the steps of:
- (a) receiving a series of programming language statements comprising source code into a memory of a second processor;
(b) translating the source code into object code in the memory of the second processor, wherein the translating step comprises the steps of;
(1) generating an intermediate language from the source code in the memory of the second processor, wherein the intermediate language is comprised of one or more directed acyclic graphs (DAGs);
(2) partitioning the DAGs into one or more trees in the memory of the second processor; and
(3) generating the object code in the memory of the second processor, including retargeting the object code to the first processor by matching patterns in the trees of the DAGs.
1 Assignment
0 Petitions
Accused Products
Abstract
An optimizing, compiler that performs retargetable object code generation for a specific processor by matching tree patterns in directed acyclic graphs derived from the source code.
-
Citations
39 Claims
-
1. A method of programming a first processor, comprising the steps of:
-
(a) receiving a series of programming language statements comprising source code into a memory of a second processor;
(b) translating the source code into object code in the memory of the second processor, wherein the translating step comprises the steps of;
(1) generating an intermediate language from the source code in the memory of the second processor, wherein the intermediate language is comprised of one or more directed acyclic graphs (DAGs);
(2) partitioning the DAGs into one or more trees in the memory of the second processor; and
(3) generating the object code in the memory of the second processor, including retargeting the object code to the first processor by matching patterns in the trees of the DAGs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for programming a first processor, comprising:
-
(a) a second processor having a memory;
(b) means, performed by the second processor, for receiving a series of programming language statements comprising source code into the memory;
(c) means, performed by the second processor, for translating the source code into object code in the memory of the second processor, wherein the means for translating comprises;
(1) means for generating an intermediate language from the source code in the memory of the second processor, wherein the intermediate language is comprised of one or more directed acyclic graphs (DAGs);
(2) means for partitioning the DAGs into one or more trees in the memory of the second processor; and
(3) means for generating the object code in the memory of the second processor, including retargeting the object code to the first processor by matching patterns in the trees of the DAGs. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An article of manufacture embodying logic for programing a first processor, the logic comprising the steps of:
-
(a) receiving a series of programming language statements comprising source code into a memory of a second processor;
(b) translating the source code into object code in the memory of the second processor, wherein the translating step comprises the steps of;
(1) generating an intermediate language from the source code in the memory of the second processor, wherein the intermediate language is comprised of one or more directed acyclic graphs (DAGs);
(2) partitioning the DAGs into one or more trees in the memory of the second processor; and
(3) generating the object code in the memory of the second processor, including retargeting the object code to the first processor by matching patterns in the trees of the DAGs. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification