• DocumentCode
    2746464
  • Title

    A compiler scheme for reusing intermediate computation results

  • Author

    Ding, Yonghua ; Li, Zhiyuan

  • Author_Institution
    Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA
  • fYear
    2004
  • fDate
    20-24 March 2004
  • Firstpage
    277
  • Lastpage
    288
  • Abstract
    Recent research has shown that programs often exhibit value locality. Such locality occurs when a code segment, although executed repeatedly in the program, takes only a small number of different values as input and, naturally, generates a small number of different outputs. It is potentially beneficial to replace such a code segment by a table, which records the computation results for the previous inputs. When the program execution re-enters the code segment with a repeated input, its computation can be simplified to a table look-up. We discuss a compiler scheme to identify code segments, which are good candidates for computation reuse. We discuss the conditions under which the table look-up costs less than repeating the execution, and we perform profiling to identify candidates, which have many repeated inputs at run time. Compared to previous work, this scheme requires no special hardware support and is therefore particularly useful for resource constrained systems such as handheld computing devices. We implement our scheme and its supporting analyses in GCC. We experiment with several multimedia benchmarks and the GNU Go game by executing them on a handheld computing device. The results show the scheme to improve the performance and to reduce the energy consumption quite substantially for these programs.
  • Keywords
    cost-benefit analysis; optimising compilers; program interpreters; software reusability; table lookup; GNU Go game; code segment; cost-benefit analysis; energy consumption; handheld computing devices; intermediate computation reuse; multimedia benchmarks; program compiler; program profiling; resource constrained systems; table look-up; value locality; Computer science; Costs; Energy consumption; Handheld computers; Hardware; Impedance matching; Multimedia computing; Process design; Program processors; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2004. CGO 2004. International Symposium on
  • Print_ISBN
    0-7695-2102-9
  • Type

    conf

  • DOI
    10.1109/CGO.2004.1281681
  • Filename
    1281681