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:
Aug. 13, 2013

Filed:

Dec. 17, 2010
Applicants:

Yosseff Levanoni, Redmond, WA (US);

Weirong Zhu, Issaquah, WA (US);

Lingli Zhang, Sammamish, WA (US);

John Lee Rapp, Redmond, WA (US);

Andrew L. Bliss, Kirkland, WA (US);

Inventors:

Yosseff Levanoni, Redmond, WA (US);

Weirong Zhu, Issaquah, WA (US);

Lingli Zhang, Sammamish, WA (US);

John Lee Rapp, Redmond, WA (US);

Andrew L. Bliss, Kirkland, WA (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

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

The present invention extends to methods, systems, and computer program products for reconstructing program control flow. Embodiments include implementing or morphing a control flow graph ('CFG') into an arbitrary loop structure to reconstruct (preserve) control flow from original source code. Loop structures can be optimized and can adhere to target platform constraints. In some embodiments, C++ source code (a first higher level format) is translated into a CFG (a lower level format). The CFG is then translated into High Level Shader Language ('HLSL') source code (a second different higher level format) for subsequent compilation into SLSL bytecode (that can then be executed at a Graphical Processing Unit (“GPU”)). The control flow from the C++ source code is preserved in the HLSL source code.


Find Patent Forward Citations

Loading…