Interactive code optimizer
AssigneeMicrosoft Technology Licensing, LLC
InventorsMarcelo Lopez Ruiz, Ivan Nevraev, David M. Peixotto, Xiang Li
Life of this patent
Estimating the term…
Abstract
Methods and devices for generating program code representations may include receiving program code or edited program code for an application executing on the computer device. The methods and devices may include receiving an identification of a selected pipeline from a plurality of pipelines that defines a plurality of passes of actions to execute on the program code or the edited program code to optimize the program code or the edited program code. The methods and devices may include running the selected pipeline and generate optimizer output with a program code representation of the program code.
Claims20
A computer device, comprising:
- a memory to store data and instructions;
- at least one processor in communication with the memory;
- at least one compiler in communication with the memory and the at least one processor, wherein the compiler is operable to:
- receive a selection of a pipeline from a plurality of available pipelines that define a plurality of passes of work the compiler executes on program code for an application;
- run each pass of the plurality of passes for the pipeline and coordinate state information between each pass of the plurality of passes;
- generate a list of state information and executed passes from the plurality of passes on the program code;
- interactively edit the program code between at least one pass of the executed passes;
- and generate program code representations of the edited program code in response to the executed passes.
A method for editing program code using a compiler on a computer device, the method comprising:
- receiving a selection of a pipeline from a plurality of available pipelines that define a plurality of passes of work the compiler executes on program code for an application;
- running each pass of the plurality of passes for the pipeline and coordinating state information between each pass of the plurality of passes;
- generating a list of state information and executed passes from the plurality of passes on the program code;
- interactively editing the program code between at least one pass of the executed passes;
- and generating program code representations of the edited program code in response to the executed passes.
A non-transitory computer-readable medium storing instructions executable by a computer device, comprising:
- at least one instruction for causing the computer device to receive a selection of a pipeline from a plurality of available pipelines that define a plurality of passes of work a compiler executes on program code for an application;
- at least one instruction for causing the computer device to run each pass of the plurality of passes for the pipeline and coordinate state information between each pass of the plurality of passes;
- at least one instruction for causing the computer device to generate a list of state information and executed passes from the plurality of passes on the program code;
- at least one instruction for causing the computer device to interactively edit the program code between at least one pass of the executed passes;
- and at least one instruction for causing the computer device to generate program code representations of the edited program code in response to the executed passes.
Dependencies are inferred from the claim text.