Enhanced local commoning
AssigneeInternational Business Machines Corporation
InventorsAndrew J. Craik, Patrick R. Doyle, Vijay Sundaresan
Life of this patent
Estimating the term…
Abstract
A method and system for enhanced local commoning optimization of compilation of a program. Commoning of volatiles within an extended block for a particular memory model associated with a particular programming language is performed, using a two pass approach. Within a first pass, a determination is made as to where in the program to evaluate volatile expressions that can be commoned. In a second pass, all remaining expressions that are not volatile expressions are commoned.
Claims18
A method for enhanced local commoning optimization of compilation of a program, said method comprising:
- performing, by one or more processors of a computer system, commoning of volatiles within an extended block for a particular memory model associated with a particular programming language, using a two pass approach by:
- determining, by the one or more processors, within a first pass, where in the program to evaluate volatile expressions that can be commoned;
- and
- commoning, by the one or more processors, in a second pass, all remaining expressions that are not volatile expressions.
A computer program product, comprising one or more computer readable hardware storage devices having compute readable program instructions stored therein, said program instructions executable by one or more processors of a computer system to implement a method for enhanced local commoning optimization of compilation of a program, said method comprising:
- performing, by the one or more processors, commoning of volatiles within an extended block for a particular memory model associated with a particular programming language, using a two pass approach by:
- determining, by the one or more processors, within a first pass, where in the program to evaluate volatile expressions that can be commoned;
- and
- commoning, by the one or more processors, in a second pass, all remaining expressions that are not volatile expressions.
A computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices, said one or more hardware storage device containing program instructions executable by the one or more processors via the one or more memories to implement a method for enhanced local commoning optimization of compilation of a program, said method comprising:
- performing, by the one or more processors, commoning of volatiles within an extended block for a particular memory model associated with a particular programming language, using a two pass approach by:
- determining, by the one or more processors, within a first pass, where in the program to evaluate volatile expressions that can be commoned;
- and
- commoning, by the one or more processors, in a second pass, all remaining expressions that are not volatile expressions.
Dependencies are inferred from the claim text.