• Title/Summary/Keyword: Partial Redundancy Elimination

Search Result 4, Processing Time 0.019 seconds

A Practical Improvement to the Partial Redundancy Elimination in SSA Form

  • Park, Jong-Soo;Lee, Jae-Jin
    • Journal of Computing Science and Engineering
    • /
    • v.2 no.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 (추론적 부분 중복 제거의 최적화 예외 영역 문제 해결 알고리즘)

  • Shin, Hyun-Deok;Ahn, Heui-Hak
    • The KIPS Transactions:PartA
    • /
    • v.13A no.6 s.103
    • /
    • pp.489-494
    • /
    • 2006
  • This paper improves the algorithms for Speculative Partial Redundancy Elimination(SPRE) proposed by Knoop et al. This research brings up an issue concerning a field to which SPRE cannot be applied, and suggests a solution to the problem. The Improved SPRE algorithm performs the execution speed optimization based on the information on the execution frequency from profiling and the memory space optimization.

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

  • Kim, Ki-Tae;Yoo, Weon-Hee
    • The KIPS Transactions:PartD
    • /
    • v.14D no.2
    • /
    • pp.217-224
    • /
    • 2007
  • In order to determine the value and type statically. CTOC uses the SSA Form which separates the variable according to assignment. The SSA Form is widely being used as the intermediate expression of the compiler for data flow analysis as well as code optimization. However, the conventional SSA Form is more associated with variables rather than expressions. Accordingly, the redundant expressions are eliminated to optimize expressions of the SSA From. This paper defines the partial redundant expression to obtain a more optimized code and also implements the technique for eliminating such expressions.

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

  • Choi Kang-Hee;Shin Hyun-Duck
    • Journal of the Korea Computer Industry Society
    • /
    • v.7 no.3
    • /
    • pp.145-154
    • /
    • 2006
  • This paper improves algorithms of Speculative Partial Redundancy Elimination(SPRE) proposed by Knoop et al. Improving SPRE algorithm performs the execution speed optimization based on the information of the execution frequency from profiling and the memory space optimization. The first purpose of presented algorithm is to reduce in space requirements and the second purpose is to de crease the execution time. Since too much weight on execution speed optimization may cause the explosion of the memory space, it is important to consider the size of memory. This fact can be a big advantage in the embedded system which concerns the required memory size more than the execution speed In this paper we implemented the min-cut algorithm, and this algorithm used the control flow graph is constructed with network and partitioned.

  • PDF