The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Mar. 27, 2007

Filed:

Aug. 04, 2004
Applicants:

Ronnie I. Chaiken, Woodinville, WA (US);

Hon Keat W. Chan, Bellevue, WA (US);

Andrew J. Edwards, Redmond, WA (US);

Gregory A. Eigsti, Redmond, WA (US);

David M. Gillies, Bellevue, WA (US);

Bruce M. Kuramoto, Bellevue, WA (US);

John A. Lefor, Bellevue, WA (US);

Ken B. Pierce, Bellevue, WA (US);

Amitabh Srivastava, Woodinville, WA (US);

Hoi H. Vo, Bellevue, WA (US);

Gideon A. Yuval, Mercer Island, WA (US);

Inventors:

Ronnie I. Chaiken, Woodinville, WA (US);

Hon Keat W. Chan, Bellevue, WA (US);

Andrew J. Edwards, Redmond, WA (US);

Gregory A. Eigsti, Redmond, WA (US);

David M. Gillies, Bellevue, WA (US);

Bruce M. Kuramoto, Bellevue, WA (US);

John A. Lefor, Bellevue, WA (US);

Ken B. Pierce, Bellevue, WA (US);

Amitabh Srivastava, Woodinville, WA (US);

Hoi H. Vo, Bellevue, WA (US);

Gideon A. Yuval, Mercer Island, WA (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/45 (2006.01);
U.S. Cl.
CPC ...
Abstract

Each component binary in a heterogeneous program is translated from a platform-specific instruction set into a set of intermediate representation (IR) instructions that are platform-neutral. The IR instructions are grouped into IR code blocks, the IR code blocks into IR procedures, and the IR procedures into IR components to create an intermediate representation hierarchy for the program. An application program interface is provided that permits user access to the IR hierarchy for instrumentation, optimization, navigation, and manipulation of the IR hierarchy. The transformed IR hierarchy is then translated into platform-specific instructions and output as a modified binary. The user can designate a different platform for the output translation of a code block than the platform for which the code block was originally written. Prologue and epilog code is added to contiguous blocks that are translated into different architectures. The modified binary can be iterated through the translation and transformation process to produce multiple versions of the heterogeneous program.


Find Patent Forward Citations

Loading…