Patent ID: 8745606
Filing Date: 2014-06-03
Classification: G06F

Abstract:
1. An article comprising a non-transitory machine-readable medium that contains instructions, which when executed by a processing platform, cause said processing platform to perform operations for compiling programming code with first and second critical sections, the operations including: determining a flow graph of the code; performing a first code motion on the first critical section based on the flow graph and a second code motion on the second critical section also based on the flow graph; determining a dependence relationship between the first and second critical sections based on both of the first and second code motions; deriving a dependence graph, using the determined dependence relationship, and summarizing the dependence graph into a summarized dependence graph having a summarized node that includes multiple critical sections; and enforcing the dependence relationship between the first and second critical sections when performing optimizations to the code.