Loop allocation for optimizing compilers includes the generation of a program dependence graph for a source code segment. Control dependence graph representations of the nested loops, from innermost to outermost, are generated and data dependence graph representations are generated for each level of nested loop as constrained by the control dependence graph. An interference graph is generated with the nodes of the data dependence graph. Weights are generated for the edges of the interference graph reflecting the affinity between statements represented by the nodes joined by the edges. Nodes in the interference graph are given weights reflecting resource usage by the statements associated with the nodes. The interference graph is partitioned using a profitability test based on the weights of edges and nodes and on a correctness test based on the reachability of nodes in the data dependence graph. Code is emitted based on the partitioned interference graph.

L'attribution de boucle pour les compilateurs de linéarisation inclut la génération d'un graphique de la dépendance de programme pour un segment de code source. Commandez les représentations de graphique de la dépendance des boucles nichées, de les plus secrets à extérieur, sont produits et des représentations de graphique de la dépendance de données sont produites pour chaque niveau de boucle nichée comme contraintes par le graphique de la dépendance de commande. Un graphique d'interférence est produit avec les noeuds du graphique de la dépendance de données. Des poids sont produits pour les bords du graphique d'interférence reflétant l'affinité entre les rapports représentés par les noeuds jointifs par les bords. Des noeuds dans le graphique d'interférence sont donnés des poids reflétant l'utilisation de ressource par les rapports liés aux noeuds. Le graphique d'interférence est divisé en utilisant un essai de rentabilité sur base du poids de bords et de noeuds et sur un essai d'exactitude basé sur le reachability des noeuds dans le graphique de la dépendance de données. Le code est émis a basé sur le graphique divisé d'interférence.

 
Web www.patentalert.com

< Loop allocation for optimizing compilers

< Loop allocation for optimizing compilers

> Method and system for periodic trace sampling for real-time generation of segments of call stack trees

> Method, apparatus, and product for optimizing compiler with rotating register assignment to modulo scheduled code in SSA form

~ 00091