1. 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.