Patent ID: 7185327

Claim:
A method for modifying serial dependencies in a procedure, said method comprising: building a graph representation of said procedure, said graph representation having an origin and including a unique position, relative to said origin, for each memory operation in said procedure; designating a location type for each memory operation in said graph representation; each said location type based on a characteristic of said corresponding memory operation; generating a summary for each memory operation in the graph representation that indicates for each location type used in the procedure the closest preceding memory operation to affect that location type; identifying a first memory operation having the same location type as a second memory operation; wherein said first memory operation is positioned closer to said origin than said second memory operation, and said graph representation does not include any additional memory operations of the same location type between the first and second memory operations; and moving said second memory operation to a new position in said graph representation that is closer to said first memory operation, wherein the moving step includes (i) removing one or more of the serial dependencies in an initial set of serial dependencies that is associated with said second memory operation and (ii) creating a new serial dependency between said first memory operation and said second memory operation.