• 제목/요약/키워드: Partial Redundancy Elimination

검색결과 4건 처리시간 0.016초

A Practical Improvement to the Partial Redundancy Elimination in SSA Form

  • Park, Jong-Soo;Lee, Jae-Jin
    • Journal of Computing Science and Engineering
    • /
    • 제2권3호
    • /
    • pp.301-320
    • /
    • 2008
  • Partial redundancy elimination (PRE) is an interesting compiler optimization because of its effectiveness and generality. Among many PRE algorithms, the one in static single assignment form (SSAPRE) has benefits over other bit-vector-based PRE algorithms. It preserves the properties of the SSA form after PRE and exploits the sparsity of the SSA form, resulting in reduced analysis and optimization time. This paper presents a practical improvement of the SSAPRE algorithm that further reduces the analysis and optimization time. The underlying idea is removing unnecessary ${\Phi}$'s during the ${\Phi}$-Insertion phase that is the first step of SSAPRE. We classify the expressions into three categories: confined expressions, local expressions, and the others. We show that unnecessary ${\Phi}$'s for confined and local expressions can be easily detected and removed. We implement our locality-based SSAPRE algorithm in a C compiler and evaluate its effectiveness with 20 applications from SPEC benchmark suites. In our measurements, on average 91 of ${\Phi}$'s identified by the original demand-driven SSAPRE algorithm are unnecessary for PRE. Pruning these unnecessary ${\Phi}$'s in the ${\Phi}$-Insertion phase makes our locality-based SSAPRE algorithm 1.8 times faster, on average, than the original SSAPRE algorithm.

추론적 부분 중복 제거의 최적화 예외 영역 문제 해결 알고리즘 (An Algorithm of Solution for the Exceptional Field Problem in the Speculative Partial Redundancy Elimination(SPRE) Optimization)

  • 신현덕;안희학
    • 정보처리학회논문지A
    • /
    • 제13A권6호
    • /
    • pp.489-494
    • /
    • 2006
  • 본 논문에서는 Knoop 등이 2004년에 제안한 추론적 부분 중복 제거 알고리즘을 개선한다. 본 연구에서는 기존 추론적 부분 중복 제거에서 최적화가 적용되지 않는 영역이 발생될 수 있는 문제를 제기하고 이 문제에 대한 해법을 제안한다. 개선된 추론적 부분 중복 제거 알고리즘은 컴파일러의 프로필링 기법을 통해 얻어진 실행 빈도에 대한 정보를 통해 실행 속도 최적화를 수행하며 메모리 최적화도 수행한다.

SSA Form에서 부분 중복 제거를 이용한 최적화 (Optimization Using Partial Redundancy Elimination in SSA Form)

  • 김기태;유원희
    • 정보처리학회논문지D
    • /
    • 제14D권2호
    • /
    • pp.217-224
    • /
    • 2007
  • CTOC에서는 정적으로 값과 타입을 결정하기 위해 변수를 배정에 따라 분리하는 SSA Form을 사용한다. SSA Form은 최근 데이터 흐름분석과 코드 최적화를 위해 컴파일러의 중간 표현으로 많이 사용되고 있다. 하지만 기존의 SSA Form은 표현적보다는 주로 변수에 관련된 것이다. 따라서 SSA Form 형태의 표현식에 대해 최적화를 적용하기 위해 중복된 표현식을 제거한다. 본 논문에서는 좀더 최적화된 코드를 얻기 위해 부분 중복 표현식을 정의하고, 부분 중복 표현식을 제거하는 방법을 구현한다.

임베디드 시스템에서 네트워크 분할을 이용한 프로그램 최적화 (Program Osptimality Using Network Partiton in Embedded System)

  • 최강희;신현덕
    • 한국컴퓨터산업학회논문지
    • /
    • 제7권3호
    • /
    • pp.145-154
    • /
    • 2006
  • 본 논문에서는 프로그램 최적화를 위해 개선된 추론적 부분 중복 제거(SPRE) 알고리즘을 제안했다. 본 논문에서 제안한 SPRE 기법은 컴파일러의 프로필링 기법 등을 통해 얻어진 실행 빈도에 대한 정보를 이용하여 실행 속도 최적화를 수행한다. 제안하는 알고리즘의 첫 번째 목적은 프로그램 실행 시 요구되는 메모리의 감소이며 두 번째는 실행 시간을 감소시키는 것이다. 단지 프로그램의 실행 속도만을 고려하는 경우에는 메모리 요구가 크게 증가하기 때문에 메모리 감소에 대한 고려도 중요하다. 이것은 프로그램을 실행하는데 요구되는 메모리의 크기가 실행 속도 보다 더 중요한 임베디드 시스템에 적합한 최적화 기법이다. 본 논문에서는 제어흐름그래프를 네트워크로 구성하여 분할하는데 사용하는 Min-Cut 알고리즘을 구현한다.

  • PDF