A method and system for detecting and eliminating interferences between
resources in SSA-form .phi.-instructions so that an optimizing compiler
can translate optimized SSA-form code back to non-SSA-form code. The
method traverses the control flow graph associated with an SSA-form
program or routine in order to analyze each .phi.-instruction within the
SSA-form program or routine. All possible pairs of resources associated
with each .phi.-instruction are analyzed for interference. Once all
interferences have been detected, the method inserts copy instructions
into the SSA-form intermediate-level code program or routine in order to
eliminate the interferences.
Une méthode et un système pour détecter et éliminer des interférences entre les ressources dans des phi.-instructions de SSA-forme de sorte qu'un compilateur de linéarisation puisse traduire le code optimisé de SSA-forme de nouveau au code de non-SSA-forme. La méthode traverse le graphique d'écoulement de commande lié à un programme ou à une routine de SSA-forme afin d'analyser chaque phi.-instruction dans le programme ou la routine de SSA-forme. Toutes les paires possibles de ressources liées à chaque phi.-instruction sont analysées l'interférence. Une fois que toutes les interférences ont été détectées, la méthode insère des instructions de copie dans le programme ou la routine de niveau intermédiaire de code de SSA-forme afin d'éliminer les interférences.