튜플 코드 상에서의 최적화기 구현과 분석

Implementation and Analysis of Optimizers on Tuple codes

  • 송진국 (진주산업대학교 전자계산학과)
  • 발행 : 1999.12.01

초록

컴파일러의 코드 최적화(code optimization)는 생성되는 기계 코드의 실행 시간을 감소시키고 기억장소 크기를 감소시키기 때문에 매우 중요한 단계이다. 본 연구에서는 튜플(tuple) 형태의 중간코드에서 제어 및 자료 흐름 분석(control and data flow analysis)을 수행하여 프로그램의 흐름 분석 정보를 얻어 각종 최적화를 수행하는 최적화기(optimizer)를 구현하였다. 또한, 각 최적화기들이 수행한 최적화 정도를 비교 분석하고 최적화기들 상호간의 의존성을 분석하였다. 따라서, 컴파일러 최적화 단계에서 우선적으로 수행할 최적화기를 선택 문제를 해결하구 상호간의 의존도로부터 최적화들간의 순서를 정할 수 있다.

Code optimization phase in a compiler are very important because the phase reduces the running time and the storage size of machine codes. I developed flow analyzers and optimizers on intermediate codes. The flow analyzers generate control-flow and data-flow information. The optimizers transform the intermediate codes into the improved codes using this information. This paper describes the development of flow analyzers and optimizers. I also examined the execution performance, the cost and the dependency of each optimization.

키워드