초록
효과적이고 정확한 데이터 흐름 문제 분석은 흐름그래프와 지배자 트리 그리고 DJ 그래프를 사용한다. 데이터 흐름 문제 해결은 흐름 그래프를 안전하게 지배자 트리로 감축하는 것이다. 흐름 그래프는 파스 트리를 대신하고, DJ 그래프는 감축 가능하거나 감축이 불가능한 흐름 그래프를 지배자 트리로 정확하게 감축하는데 이용된다. 본 연구에서는 Tarjan의 경로 압축 알고리즘을 이용하기 위하여 Top 노드 찾기 알고리즘을 제시하고 기존의 지연감축 알고리즘을 경로압축을 이용하여 개선한다. 경로압축을 이용한 지연감축 알고리즘은 DJ 그래프를 지연 감축하면서 노드를 끌어올려 지배자 트리의 경로를 압축시킨다. 실제로 제안된 알고리즘은 22% 정도 노드들을 끌어올렸고, 20% 정도 경로를 압축시켰다. 압축된 지배자 트리는 효과적인 데이터 흐름 분석을 가능하게 하고, 코드 최적화 과정의 노드 끌어올리기 효과를 가져와 코드 최적화 과정의 복잡도를 개선하는 효과를 가져온다.
The effective and accurate data flow problem analysis uses the dominator tree and DJ graphs. The data flow problem solving is to safely reduce the flow graph to the dominator tree. The flow graph replaces a parse tree and used to accurately reduce either reducible or irreducible flow graph to the dominator tree. In this paper, in order to utilize Tarian's path compress algorithm, the Top node finding algorithm is suggested and the existing delay reduction algorithm is improved using Path compression. The delayed reduction a1gorithm using path compression actually compresses the pathway of the dominator tree by hoisting the node while reducing to delay the DJ graph. Realty, the suggested algorithm had hoisted nodes in 22% and had compressed path in 20%. The compressed dominator tree makes it possible to analyze the effective data flow analysis and brings the improved effect for the complexity of code optimization process with the node hoisting effect of code optimization process.