MERGED MACHINE-LEVEL INTERMEDIATE REPRESENTATION OPTIMIZATIONS

    公开(公告)号:US20220214866A1

    公开(公告)日:2022-07-07

    申请号:US17144065

    申请日:2021-01-07

    Inventor: Xiang LI

    Abstract: A computer device is provided that includes a processor configured to receive a source code for a program including at least two code files, and process the source code for the program to generate a machine-level code file for each of the at least two code files of the source code. The processor is further configured to generate control flow graph data for each machine-level code file generated for the at least two code files of the source code, generate a machine-level intermediate representation for each machine-level code file using a machine-level code file and the generated control flow graph data for that machine-level code file, merge the machine-level intermediate representations into a merged machine-level intermediate representation, and perform machine-level optimizations on the merged machine-level intermediate representation and output an optimized merged machine-level intermediate representation.

    INTERACTIVE CODE OPTIMIZER
    2.
    发明申请

    公开(公告)号:US20200004515A1

    公开(公告)日:2020-01-02

    申请号:US16443392

    申请日:2019-06-17

    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.

    COMPILER SUB EXPRESSION DIRECTED ACYCLIC GRAPH (DAG) REMAT FOR REGISTER PRESSURE

    公开(公告)号:US20210311708A1

    公开(公告)日:2021-10-07

    申请号:US16837590

    申请日:2020-04-01

    Abstract: The present disclosure relates to devices and methods for transforming program source code using a rematerialization operation. The devices and methods may identify at least one hot spot with high register pressure in a program source code for an application and identify a plurality of live variables within the at least one hot spot. The devices and methods may group the plurality of live variables by a basic block that has contained a define or single use of the plurality of live variables. The devices and methods may build a directed acyclic graph (DAG) for each basic block that has a grouped plurality of live variables. The devices and methods may save the DAG as a candidate instruction to move in the program source code and may generate transformed program source code for the application by moving the candidate instruction.

    PRE-INSTRUCTION SCHEDULING REMATERIALIZATION FOR REGISTER PRESSURE REDUCTION

    公开(公告)号:US20210149673A1

    公开(公告)日:2021-05-20

    申请号:US16780676

    申请日:2020-02-03

    Abstract: Examples are disclosed herein that relate to performing rematerialization operation(s) on program source code prior to instruction scheduling. In one example, a method includes prior to performing instruction scheduling on program source code, for each basic block of the program source code, determining a register pressure at a boundary of the basic block, determining whether the register pressure at the boundary is greater than a target register pressure, based on the register pressure at the boundary being greater than the target register pressure, identifying one or more candidate instructions in the basic block suitable for rematerialization to reduce the register pressure at the boundary, and performing a rematerialization operation on at least one of the one or more candidate instructions to reduce the register pressure at the boundary to be less than the target register pressure.

    TECHNIQUES FOR SCHEDULING INSTRUCTIONS IN COMPILING SOURCE CODE

    公开(公告)号:US20200210194A1

    公开(公告)日:2020-07-02

    申请号:US16237012

    申请日:2018-12-31

    Abstract: Examples described herein generally relate to generating, from a listing of source code, a plurality of basic blocks for compiling into intermediate language, determining, for a first basic block of the plurality of basic blocks, first heuristics related to applying a first plurality of optimizations to the first basic block, determining, for a second basic block of the plurality of basic blocks, second heuristics related to applying a second plurality of optimizations to the second basic block, and applying, based on the first heuristics and the second heuristics, one of the first plurality of optimizations to the first basic block to schedule first instructions for the first basic block and one of the second plurality of optimizations to the second basic block to schedule second instructions for the second basic block.

    INTERACTIVE CODE OPTIMIZER
    7.
    发明申请

    公开(公告)号:US20190102152A1

    公开(公告)日:2019-04-04

    申请号:US15882529

    申请日:2018-01-29

    CPC classification number: G06F8/443 G06F8/33 G06F8/447

    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.

Patent Agency Ranking