Concept for handling memory spills
AssigneeIntel Corporation
InventorsWei Xiao, Xinmin Tian
Life of this patent
Estimating the term…
Abstract
Examples provide an apparatus, device, method, computer program and non-transitory machine-readable storage medium including program code for processing memory spill code during compilation of a computer program. The non-transitory machine-readable storage medium includes program code for processing memory spill code during compilation of a computer program, when executed, to cause a machine to perform identifying a plurality of instructions related to scalar memory spill code during compilation of a computer program, and transforming at least a subset of the plurality of instructions into vectorized code.
Claims17
A non-transitory machine-readable storage medium comprising a program code for processing memory spill code during compilation of a computer program that, when executed, causes a machine to perform:
- identifying a plurality of instructions related to scalar memory spill code during compilation of a computer program;
- and
- transforming at least a subset of the plurality of instructions into vectorized code,
- wherein the program code is to cause a machine to perform selecting a set of candidate instructions of the plurality of instructions according to one or more selection criteria, and transforming the set of candidate instructions,
- wherein the program code is to cause a machine to perform selecting a set of spill slots based on the selected set of candidate instructions,
- wherein the program code is to cause a machine to perform allocating memory for the set of spill slots, with the memory being allocated in a first memory region that is separate from a second memory region being allocated for spill slots outside the set of spill slots.
A method for processing memory spill code during compilation of a computer program, the method comprising:
- identifying a plurality of instructions related to scalar memory spill code during compilation of a computer program;
- transforming at least a subset of the plurality of instructions into vectorized code;
- selecting a set of candidate instructions of the plurality of instructions according to one or more selection criteria, and transforming the set of candidate instructions;
- selecting a set of spill slots based on the selected set of candidate instructions;
- and
- allocating memory for the set of spill slots, with the memory being allocated in a first memory region that is separate from a second memory region being allocated for spill slots outside the set of spill slots.
Dependencies are inferred from the claim text.