Mechanism for Performing Instruction Scheduling based on Register Pressure Sensitivity
AssigneeRed Hat, Inc.
InventorVladimir Makarov
Life of this patent
Estimating the term…
Abstract
A mechanism for performing instruction scheduling based on register pressure sensitivity is disclosed. A method of embodiments of the invention includes performing a preliminary register pressure minimization on program points during a compilation process of a software program running on a virtual machine of a computer system. The method further includes calculating a register pressure at each of the program points, detecting an instruction to be scheduled, and performing instruction scheduling of the instruction based on a current register pressure at a current scheduling point and potential register pressures at subsequent scheduling points.
Claims20
A computer-implemented method for performing instruction scheduling comprising:
- performing a preliminary register pressure minimization on program points during a compilation process of a software program running on a virtual machine of a computer system;
- calculating a register pressure at each of the program points;
- detecting an instruction to be scheduled;
- and
- performing instruction scheduling of the instruction based on a current register pressure at a current scheduling point and potential register pressures at subsequent scheduling points.
A system, comprising:
- a processor communicably coupled to a memory, the processor to execute a virtual machine form the memory;
- and
- the virtual machine to run a software program, the virtual machine having an instruction scheduling mechanism operable to:
- perform a preliminary register pressure minimization on program points during a compilation process of a software program running on a virtual machine of a computer system,
- calculate a register pressure at each of the program points,
- detect an instruction to be scheduled, and
- perform instruction scheduling of the instruction based on a current register pressure at a current scheduling point and potential register pressures at subsequent scheduling points.
A machine-readable storage medium having instructions that, when executed by a machine, cause the machine to perform operations comprising:
- performing a preliminary register pressure minimization on program points during a compilation process of a software program running on a virtual machine of a computer system;
- calculating a register pressure at each of the program points;
- detecting an instruction to be scheduled;
- and
- performing instruction scheduling of the instruction based on a current register pressure at a current scheduling point and potential register pressures at subsequent scheduling points.
The machine-readable storage medium of claim 16, having further instructions that, when executed, cause the machine to perform operations comprising:
- determining the current register pressure at the current scheduling point, and the potential register pressures at the subsequent scheduling points
Dependencies are inferred from the claim text.