A method and apparatus placing blocks of object code by a compiler. The
code placement is done optimally, using a "cut set technique" that uses
the "max-flow/min-cut" principle. A preferred embodiment of the present
invention divides a source program into blocks and generates a control
flow graph (cfg) and a data flow graph (dfg) for the blocks. The compiler
then identifies the strongly connected components (sccs) of the dfg and
recursively breaks down the cycles in each scc to yield a plurality of
directed acyclic graphs (dfg-dag's). The compiler then finds the "minimum
cut set" in the cfg corresponding to each dfg-dag and moves the code into
blocks in accordance with the minimum cut sets. Lastly, the compiler
generates object code for the blocks.
Метод и прибор устанавливая блоки обжектного кода составителем. Размещение Кодего сделано оптимально, использующ "метод отрезока установленный" тот пользы принцип "max-flow/min-cut". Предпочитаемое воплощение присытствыющего вымысла разделяет программу источника в блоки и производит диаграмму подачи управления (cfg) и потоко информации диаграмма (dfg) для блоков. Составитель после этого определяет сильно соединенные компоненты (sccs) dfg и рекурсивно ломает вниз с циклов в каждом scc для того чтобы произвести множественность сразу ациклических диаграмм (дфг-dfg-dag's). Составитель после этого считает "отрезок после того как минимума он установлен" в cfg соответствуя к каждому дфг-dfg-dag и двигает Кодего в блоки в соответствии с комплектами отрезока минимума. Последн, составитель производит обжектный код для блоков.