×

Loop allocation for optimizing compilers

  • US 6,651,246 B1
  • Filed: 05/18/2000
  • Issued: 11/18/2003
  • Est. Priority Date: 11/08/1999
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer program product for compilation of a source code segment, said computer program product comprising:

  • instruction means to generate a program dependence graph for the source code segment, the program dependence graph comprising a control dependence graph and a data dependence graph, each of the control dependence graph and the data dependence graph comprising nodes, each node in the data dependence graph being associated with one or more statements in the source code segment, instruction means to generate an interference graph from the data dependence graph, comprising instruction means for deriving nodes for the interference graph from the nodes in the data dependence graph, the nodes in the interference graph thereby each being associated with one or more statements in the source code segment, instruction means for generating a node weight for each node in the interference graph, each node having a node weight reflecting the resources used by the one or more statements associated with the node, instruction means for generating edges for the interference graph, each edge connecting a pair of nodes in the interference graph, instruction means for generating an associated edge weight for each edge reflecting the desirability of maintaining the one or more statements associated with each node of the pair of nodes connected by the edge within the same loop, instruction means for partitioning the interference graph into subgraphs based on the edge weights and the node weights of the interference graph, and instruction means for emitting code conforming to the partitioned interference graph.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×