Control stack load elimination
AssigneeArm Limited
Inventors. ABHISHEK RAJA, Rodney Wayne SMITH
Life of this patent
Estimating the term…
Abstract
Control stack information tracking circuitry tracks, in a last-in-first-out structure, one or more entries tracking items of store target information corresponding to one or more control stack push instructions. Control stack load elimination circuitry determines whether a control stack load elimination condition is satisfied for a given control stack pop instruction, and if satisfied, eliminates a control stack load operation corresponding to the given control stack pop instruction and uses information obtained from an entry of the control stack information tracking circuitry corresponding to a corresponding control stack push instruction to identify load target information for the given control stack pop instruction.
Claims20
An apparatus comprising:
- processing circuitry to:
- in response to a control stack push instruction, perform a control stack store operation to request that store target information is stored to a memory system location corresponding to a control stack store target address derived from a control stack pointer;
- and
- in response to a control stack pop instruction processed when a control stack load elimination condition is not satisfied, perform a control stack load operation to request that load target information is loaded from a memory system location corresponding to a control stack load target address derived from the control stack pointer;
- control stack information tracking circuitry to track, in a last-in-first-out structure, one or more entries tracking items of store target information corresponding to one or more control stack push instructions;
- and
- control stack load elimination circuitry to:
- determine whether the control stack load elimination condition is satisfied for a given control stack pop instruction;
- and
- in response to determining that the control stack load elimination condition is satisfied for the given control stack pop instruction, eliminate the control stack load operation corresponding to the given control stack pop instruction and control the processing circuitry to use, as the load target information for the given control stack pop instruction, store target information obtained based on an entry of the control stack information tracking circuitry corresponding to a corresponding control stack push instruction.
A non-transitory computer-readable medium storing computer-readable code for fabrication of an apparatus comprising:
- processing circuitry to:
- in response to a control stack push instruction, perform a control stack store operation to request that store target information is stored to a memory system location corresponding to a control stack store target address derived from a control stack pointer;
- and
- in response to a control stack pop instruction processed when a control stack load elimination condition is not satisfied, perform a control stack load operation to request that load target information is loaded from a location corresponding to a control stack load target address derived from the control stack pointer;
- control stack information tracking circuitry to track, in a last-in-first-out structure, one or more entries tracking items of store target information corresponding to one or more control stack push instructions;
- and
- control stack load elimination circuitry to:
- determine whether the control stack load elimination condition is satisfied for a given control stack pop instruction;
- and
- in response to determining that the control stack load elimination condition is satisfied for the given control stack pop instruction, eliminate the control stack load operation corresponding to the given control stack pop instruction and control the processing circuitry to use, as the load target information for the given control stack pop instruction, store target information obtained based on an entry of the control stack information tracking circuitry corresponding to a corresponding control stack push instruction.
A method comprising:
- in response to a control stack push instruction, performing a control stack store operation to request that store target information is stored to a memory system location corresponding to a control stack store target address derived from a control stack pointer;
- tracking, in a last-in-first-out structure provided by control stack information tracking circuitry, one or more entries tracking items of store target information corresponding to one or more control stack push instructions;
- and
- in response to a given control stack pop instruction:
- determining whether a control stack load elimination condition is satisfied for the given control stack pop instruction;
- in response to determining that the control stack load elimination condition is not satisfied for the given control stack pop instruction, performing a control stack load operation to request that load target information is loaded from a memory system location corresponding to a control stack load target address derived from the control stack pointer;
- and
- in response to determining that the control stack load elimination condition is satisfied for the given control stack pop instruction, eliminating the control stack load operation corresponding to the given control stack pop instruction and using, as the load target information for the given control stack pop instruction, store target information obtained based on an entry of the control stack information tracking circuitry corresponding to a corresponding control stack push instruction.
Dependencies are inferred from the claim text.